很久就开始尝试编译Linux内核,但是总是遇到不少的问题,经过几十次的编译,直到现在才解决,人都要崩溃了。所以干脆把这个过程写出来,希望在你遇到同样问题的时候少走点弯路。我用的是Red Hat Linux 9. 内核版本是2.6.14.4 cd /usr/src/linux make menconfig #内核配置 注意在vmware下有以下几个必须选中否则编译将会遇到问题(参考http://bbs.chinaunix.net/forum/4/050622/566229.html) Device Drivers —>SCSI device support —>SCSI low-level drivers —> <*> BusLogic SCSI support Device Drivers —> Fusion MPT device support —><M> Fusion MPT (base + ScsiHost) drivers和<M> Fusion MPT misc device (ioctl) driver(这个不确定) Device Drivers —> USB support —><*> USB Mass Storage support Device Drivers —> Networking support —>Ethernet (10 or 100Mbit) —> <*> AMD PCnet32 PCI support make bzImage #产生压缩内核 cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmkernel make modules #编译可加载模块 make modules_install #安装模块 以上过程可能比较消耗时间,我每次编译都用了超过1小时的时间。. 如果BusLogic SCSI suppor选择的是M,就还要运行 mkinitrd /boot/newkernel.img 2.6.14.4 #制作img文件和预加载模块 我用的是grub,在/etc/grub.conf后添加以下语句 title New Kernel (2.6.14.4) root (hd0,0) kernel /newkernel ro root=/dev/sda2 #initrd /newkernel.img BusLogic SCSI support 如果你选的M,你还得把#initrd /newkernel.img前的#去掉. 然后重新启动。 我也用lilo试过 在/etc/lilo.conf后添加以下语句 image=/boot/newkernel label=New #initrd=/boot/newkernel.img read-only append=”root=/dev/sda2″ 同样BusLogic SCSI support 如果你选的M,你还得把#initrd=/boot/newkernel.img前的#去掉. 运行lilo命令,然后重新启动。 问题 1.No rule to make target `net/ipv4/netfilter/ipt_TOS.c, needed by `net/ipv4/netfilter/ipt_TOS.o. Stop. 上面提到了,如果你是在Windows下解开Linux内核的话就会遇到这个问题,因为Windows不区分文件大小写,ipt_TOS.c和ipt_tos.c在Windows中是一回事,就被替换掉了,改在Linux下解开它就没有问题了。 2. 不能挂接根文件系统 修改配置文件把根文件系统改成具体的设备文件,不要使用LABEL标签
先到kernel.org去下载新的内核,然后解开到/usr/src/linux目录下,注意一定要在Linux下解开,如果是在Windows下的话会遇到问题(我就上了这样的当,郁闷了很久才找到原因)。
make mrproper #清除目录下所有和先前生成内核时候产生的中间文件
Device Drivers —>SCSI device support —><*> SCSI disk support
2.6中 make dep 可以不用了 #依赖性和完整性检测
BusLogic SCSI support我选择的是*,所以就不用运行mkinitid命令了.
修改配置文件
vmware中linux内核2.6.14.4编译全过程_linux教程
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » vmware中linux内核2.6.14.4编译全过程_linux教程
相关推荐
-      PHP排队机制,定时程序,linux服务器上运行PHP程序
-      nginx中伪静态的设置方法
-      nginx中给网站做301转向功能
-      让nginx每天自动分割日志文件
-      linux中的查找,删除,修改,移动,复制命令
-      lnmp服务器支持thinkphp5的配置方法
-      Nginx实现负载均衡配置实例
-      nginx中给网站做301转向功能