首 页 | 精品电影 | 音乐天堂 | 在线游戏 | Flash MTV | 三湘书屋 | 幽默笑话 | 三湘图库 | 美女写真 | IT知识库 | QQ贴图 | 加入书签

网页制作网络编程图形图象操作系统冲浪宝典软件教学网络安全认证考试通信技术电子商务业内动态书籍教程原码

最近更新 文章分类 多媒体类 精品软件

本站搜索:
您的位置:三湘时空 -> IT知识库 -> 文章分类 -> Linux教程 -> VMware中Linux内核2.6.14.4编译全过程
VMware中Linux内核2.6.14.4编译全过程


文章类别:Linux教程 来源: 作者: 发表日期:2006-2-23 字体:[ ]

小游戏 | 在线影院 | 幽默笑话 | 源码下载 | Flash MTV | 音乐试听 | 书屋 | 美女写真

http://blog.csdn.net/shaohui 

很久就开始尝试编译Linux内核,但是总是遇到不少的问题,经过几十次的编译,直到现在才解决,人都要崩溃了。所以干脆把这个过程写出来,希望在你遇到同样问题的时候少走点弯路。我用的是Red Hat Linux 9. 内核版本是2.6.14.4


先到kernel.org去下载新的内核,然后解开到/usr/src/linux目录下,注意一定要在Linux下解开,如果是在Windows下的话会遇到问题(我就上了这样的当,郁闷了很久才找到原因)。

cd /usr/src/linux


make mrproper  #清除目录下所有和先前生成内核时候产生的中间文件

make menconfig  #内核配置
 

注意在vmware下有以下几个必须选中否则编译将会遇到问题(参考http://bbs.chinaunix.net/forum/4/050622/566229.html)


Device Drivers  --->SCSI device support  ---><*>   SCSI disk support

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


2.6中 make dep 可以不用了             #依赖性和完整性检测

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文件和预加载模块


BusLogic SCSI support我选择的是*,所以就不用运行mkinitid命令了.


修改配置文件

我用的是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标签

上一篇:搞定CSS SPAN和DIV的区别 下一篇:用JavaScript脚本将当地时间转换成其它时区
本栏目热门文章
·vmware 网络设置三:理解虚拟网络的类型 2005-10-4
·Ramdisk:在linux下如何使用 RAM 作为虚拟硬盘? 2005-10-4
·Automount mini-Howto 文件系统自动挂载程序 2005-10-4
·LINUX学习笔记--FTP服务器设置篇 2005-10-4
·vmware 配置实例-linux host + windows g 2005-10-4
·VMware中Linux内核2.6.14.4编译全过程 2006-2-23
·急速狂飚 提高Linux操作系统网速的方法 2005-10-6
·linux核心代码分析(系统初始化start_kernel函数) 2005-10-4
·Printing Usage HOWTO 如何使用打印机-3.文档类 2005-10-4
·配置linux与win2000/XP/NT 双重引导 2005-10-4
新近更新文章
·Linux用户也能玩转Google Earth了 2006-6-15
·让Linux用起来跟Windows无异 2006-6-15
·网络OS显神威 认识Linux远程桌面控制 2006-6-4
·用rsync修复不完整的Linux光盘映像文件 2006-6-4
·Linux中文件内容查看工具的使用介绍 2006-5-28
·基于linux操作系统架构openvpn总结 2006-4-25
·Linux下硬盘分区的最佳方案 2006-4-25
·linux下乱码问题的终极解决方法 2006-4-20
·Linux系统环境下如何使用aMsn聊天工具 2006-4-13
·几个重要的Linux系统内核文件介绍 2006-3-18
首 页 | 软件发布 | 广告联系 | 下载帮助 | 意见反馈 | 网站地图
  CopyRight? 2002-2004 WWW.SXSKY.NET? All Rights Reserved
三湘时空 站长QQ:82675303 Email: