实战内核编译linux 2.4 and linux 2.6
网上看了linux2.4和2.6的内核编译,写的要么很复杂,要么无法编译通过。有的就是没有介绍全部的步骤。自己实际编译了一次2.4和2.6的内核,并且记录下来。不用重复N次Google了:)
Linux-2.4-x内核编译步骤
#make mrproper
[说明]清除所有的配置信息,如.config等。
#make clean
[说明]清除所有的*.o文件。
[注]如果已经配置并且编译过了内核源码,只是修改了一些内核代码,那么1,2步可以跳过。
#make dep
[说明]读取配置过程生成的配置文件,创建对应于配置的依赖关系树,从而决定哪些需要编译,哪些不需要。
#make bzImage (或#make zImage)
[说明]完全编译内核。二者生成的内核都是使用gzip格式压缩的,区别在于编译后的文件大小。
#make modules
[说明]生成相应的模块。
#make modules_install
[说明]把模块拷贝到需要的目录中。
#make install
[说明]安装内核
#cp /usr/src/kernel-source-2.4.22/arch/i386/boot/bzImage /boot
[说明]复制bzImage文件到/boot目录下,以便生成initrd文件
#mkinitrd -o /boot/initrd.img-2.4.22 2.4.22
[说明]生成2.4.22内核的initrd.img
修改grub
reboot.....
Linux-2.6.x内核编译步骤
#make mrproper
[说明]清除所有中间文件,除了配置文件以外。
#make
[说明]此命令完成了make bzImage和make modules的工作。
#make modules_install
[说明]把内核模块安装到/lib/modules/2.6.x下。
#make install
[说明]完成mkinitrd命令及内核(bzImage)和System.map的复制。如果系统使用的是GRUB,会自动修改引导选项;对于LILO则要手工修改,重写引导记录。
#shutdown -r now
[说明]重启。
另外,再记一下Debian的Patch使用方法:(比如安装的Patch包是kernel-patch-2.6.8,aptitude中显示的版本是2.6.8-16)
#cd /usr/src/kernel-source-2.6.8
#/usr/src/kernel-patches/all/2.6.8/apply/debian 2.6.8-16