Linux基础教程:Linux系统的内核的编译命令

Linux操作系统的内核编译过程漫长:先做准备工作、然后配置,才开始编译。

编译有关的命令有如下几个:

#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,我们的新内核发挥作用了,好好享受吧

通过上文描述,大家知道了内核编译的麻烦、怎样更新,希望对大家有帮助!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/25087.html