编译
在繁杂的配置工作完成以后,下面你就可以自己到杯茶耐心等候了。与编译有关的命令有如下几个:
# make dep # make clean # make zImage # make bzImage # make modules # make modules_install # depmod -a
第一个命令make dep实际上读取配置过程生成的配置文件,来创建对应于配置的依赖关系树,从而决定哪些需要编译而那些不需要;第二命令make clean完成删除前面步骤留下的文件,以避免出现一些错误;第三个命令make zImage和第四个命令make bzImage实现完全编译内核,二者生成的内核都是使用gzip压缩的,只要使用一个就够了,它们的区别在于使用make bzImage可以生成大一点的内核,比如在编译2.4.0版本的内核时如果使用make zImage命令,那么就会出现system too big的错误提示。建议大家使用make bzImage命令。
后面三个命令只有在你进行配置的过程中,在回答Enable loadable module support (CONFIG_MODULES)时选了"Yes"才是必要的,make modules和make modules_install分别生成相应的模块和把模块拷贝到需要的目录中。
严格说来,第七个命令和编译过程并没有关系,它是生成模块间的依赖关系,这样你启动新内核之后,使用modprobe命令加载模块时就能正确地定位模块。
更新
经过以上的步骤,我们终于得到了新版本的内核。为了能够使用新版本的内核,我们还需要做一些改动:
# cp /usr/src/linux/System.map /boot/System.map-2.4.0test8 # cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.4.0test8
以上这两个文件是我们刚才编译时新生成的。下面修改/boot下的两个链接System.map和vmlinuz,使其指向新内核的文件:
# cd /boot;rm -f System.map vmlinuz # ln -s vmlinuz-2.4.0test8 vmlinuz # ln -s System.map-2.4.0test8 System.map
然后修改/etc/lilo.conf:
# vi /etc/lilo.conf
增加如下一段:
image=/boot/vmlinuz-2.4.0test8 label=linux240 read-only root=/dev/hda2
其中root=/dev/hda2一行要根据需要自行加以修改。运行:
# /sbin/lilo -v
确认对/etc/lilo.conf的编辑无误,现在重新启动系统:
# shutdown -r now
在机器重启后出现LILO时按TAB键,输入linux240,我们的新内核发挥作用了,好好享受吧。
(参考链接: http://linux.ccidnet.com/art/741/20050921/338445_1.html)
|