庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>操作系统>Linux>编程开发>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

编译linux 2.6.0-test2 内核(中文版)

 作者:本站收集   日期:2005-3-13
字号选择〖 〗/ 双击滚屏 单击停止   


也许2.6.0内核会给linux带来革命。从2.5.*内核开始linux有了向高端应用进军的资本。这次2.6.0内核也是主要是在高级应用上有较大变化。还有增加了对更多的设备的支持(nForce2主板就需要新内核支持)。这些也不是咱们讨论的范围。对了新的内核,给大家第一感受是,鼠标,键盘,好用了。新内核对这些外设做了优化。(以后还可能弄一个专门为了显示的内核,到那时linux就真的可以进军桌面了。)这些特点其实在2.5.*某些版本里已经有了。还有2.6.0的Makefile文件也变化很大,也许比大家想的要好用的多。

新内核可以在http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.0-test2.tar.gz下载。
   先把linux-2.6.0-test2.tar.gz 复制到/usr/src/ 的下面 tar -zxf linux-2.6.0-test2.tar.gz; cd linux-2.6.0-test2 因为是新内核没有编译过所以不用make mrproper 把原来编译产生的垃圾删除
   配置内核可以根据需要与爱好使用下面命令中的一个:

   #make config (基于文本的最为传统的配置界面)

   #make menuconfig (基于文本选单的配置界面)

   #make xconfig (基于图形窗口模式的配置界面)

   #make oldconfig (如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦)


   进行配置时,大部分选项可以使用其缺省值,只有小部分需要根据用户不同的需要选择。例如,如果需要内核支持DOS分区的文件系统,则要在文件系统部分选择FAT或DOS系统支持;系统如果配有网卡、PCMCIA卡等,需要在网络配置中选择相应卡的类型。

   选择相应的配置时,有三种选择,它们分别代表的含义如下:

   “Y”- 将该功能编译进内核

   “N”- 不将该功能编译进内核

   “M”- 将该功能编译成可以在需要时动态插入到内核中的模块。

   将与核心其它部分关系较远且不经常使用的部分功能代码编译成为可加载模块,有利于减小内核的长度,减小内核消耗的内存,简化该功能相应的环境改变时对内核的影响。许多功能都可以这样处理,例如像上面提到的网卡的支持、对FAT等文件系统的支持。

   其实现在编译内核最关键的地方就是配置内核。我一般用make menuconfig配置内核。
配置2.6.0内核时如果你的主板是Intel芯片的话,你用默认配制也许就可以得到一个满意的内核哦。做法是make menuconfig后离开时选择保存。

   这里的难点是pci,如果你硬盘是IDE的那一定要选择好你主板上南桥芯片。SCSI的话就是要选择上你的SCSI卡型号。
   还有就是网卡,声卡芯片的型号了,他们的型号你都可以用lspci 查找到比如我的是。


sh-2.05a# /sbin/lspci
00:00.0 Host bridge: ServerWorks CNB20LE Host Bridge (rev 05)
00:00.1 Host bridge: ServerWorks CNB20LE Host Bridge (rev 05)
00:02.0 PCI bridge: Intel Corp. 80960RP [i960 RP Microprocessor/Bridge] (rev 01)
00:02.1 I2O: Intel Corp. 80960RP [i960RP Microprocessor] (rev 01)
00:04.0 Ethernet controller: 3Com Corporation 3c985 1000BaseSX (SX/TX) (rev 01)
00:08.0 PCI bridge: Digital Equipment Corporation DECchip 21152 (rev 03)
00:0e.0 VGA compatible controller: ATI Technologies Inc 3D Rage IIC (rev 7a)
00:0f.0 ISA bridge: ServerWorks OSB4 South Bridge (rev 4f)
00:0f.1 IDE interface: ServerWorks OSB4 IDE Controller
02:04.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 05)
02:05.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 05)
03:02.0 PCI bridge: Intel Corp. 80960RM [i960RM Bridge] (rev 01)
03:08.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08)

   你只要把你pci上的东西全部选择对了。 剩下就用默认的就可以了

   配制内核完毕后make install 还要说一句make install也是最近的从2.5.69内核(按照内核发布时间算)开始才有的选项他可以帮你完成很多东西。方便大大的 。
   2.4.21你可以用make install

   现在这些步骤就是没有make install时要做的

#make dep (确保关键文件在正确的位置) 2.5.*-2.6.0都不需要了。其实2.4.*某些内核也不需要了。

   #make clean (确保所有有关文件都处于最新版本状态)

   #make zImage (编译压缩形式的内核)

   在需要内核支持较多的外设和功能时,内核可能变得很大,此时可以编译大内核:

   #make bzImage

   编译的时间与机器的硬件条件及内核的配置等因素有关,以笔者的64MB内存的赛扬300为例,编译内核一次大致需要20多分钟。所获得的内核的位置在/usr/src/linux/arch/i386/boot目录下,当然这里假设用户的CPU是x86型的。

   如果选择了可加载模块,编译完内核后,要对选择的模块进行编译

   #make module (编译选择的模块)

   #make module-install (将编译后的模块转移到系统标准位置)

   模块在系统中的标准目录位于/lib/modules/x.y.z,后面的x.y.z是版本号,为安全起见,在运行#make modules-install之前最好对/lib/modules进行备份。模块通常是带有扩展名.o的文件,使用命令#lsmod可以对当前内核的模块进行列表。

   我一般是 make dep ;make bzImage;make module ;make module-install

cp /usr/src/linux2.6.0-test2/arch/i386/boot/bzImage /boot/vmlinuz-2.6.0-test2

cp /usr/src/linux-2.6.0-test2/System.map /boot/System.map-2.6.0-test2

   这些make install都可以办到的

   剩下就是修改 /etc/lilo.conf

vi /etc/lilo.conf

   添加新内核。有时make install连这个都给你修改好了。
   下面是我的lilo.conf
prompt
timeout=50
default=linux
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
message=/boot/message
linear

image=/boot/vmlinuz-2.4.18-3smp
label=linux
initrd=/boot/initrd-2.4.18-3smp.img
read-only
root=/dev/sda6

image=/boot/vmlinuz-2.6.0-test2
label=linux-2.6.0-test2
initrd=/boot/initrd-2.6.0-test2.img
read-only
root=/dev/sda6


   再运行
sh-2.05a# lilo
   重新生成lilo
   这样你的内核就升级完毕。

上一篇:Linux 编程之kernel 2.6的测试    下一篇:Rrdhat 9 安装j2me_wireless_toolkit  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-3-13
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿