编译内核2.6.0成功
skycity 于 2004年 08月30日 发表
昨晚突然心血来潮,想想用了linux也有一段时间了,可是却没有编译过linux的内核,觉得有点可惜.于是down kernel 2.6.0 from the kernel official site .
在网上找了一大堆资料,了解了一下内核编译的流程和注意事项之后,便开始着手编译了.
具体编译过程如下
内核文件:linux-2.6.0.tar.gz
工具包:module-init-tools-3.0.tar.gz
原OS:redhat9.0(kernel2.4.20-8)
上面两个软件包都可以在网上找到.
#cp linux-2.6.0.tar.gz /usr/src
#cd /usr/src
#tar zxvf linux-2.6.0.tar.gz
#cd zxvf llinux-2.6.0
#make mrpropre(检测此文件内是否存在已经编译过的.o文件,有则删除)
此时,更新编译内核所需的modules升级工具包.
#tar zxvf module-init-tools-3.0.tar.gz
#cd module-init-tools-3.0.
#./configure --prefix=/ ------------(选择安装的目录)
#make moveold (将系统原来的modules工具包的内容改成"*.iold",这一步很重要,因为原来的内核要用到原来的modules)
#make all install
#./generate-modprole.conf /etc/modprobe.conf (生成配置文件)
现在开始编译内核
#make menuconfig
在这个过程中我想把我遇到一些问题讲一下:
1. 选择文件系统的时候记得要把ext3也编译进去,要不会在启动的时候就出现现下面的错误
Kernel panic: No init found. Try passing init= option to kernel
2.选择devices driver的时候注意把你的网卡驱动也编译进去,否则会上不了网的.另外这个问题有人说可以把驱动编译成模块,后面再加进去也行.可惜我不会.
3.如果是adsl上网方式还记得要把ppp协议也要编译,我还因为这个问题又重新编译了一下内核,必要的时候还要重新安装ppoe软件.因为我的新内核刚开始也不能上网,后来重新安装了ppoe,再次进行/sbin/adsl-setup , /sbin/adsl-start,然后就可以上网了.呵呵,就是这么奇怪.
4.在选择netfilters的时候记得把iptables的对应的tables都要选上,要不在新内核起动的时候会因为找不到table而致使iptables启动失败.
#make
#make modules
#make modules_install
#make install 生成启动的映象和配置修改grub.conf
#reboot
在grub启动选项中,选择新内核启动.
Have a good time with your new kernel!
#另外一问题我的新内核没有检测出我的cdrom,有可能是我没有把cdrom编译到内核中.(有待证实)
新内核支持滚轮鼠标 |