编译linux内核(从2.4.8.20到2.6.20), 有需要的朋友可以参考下。
第一步:准备工作:
1、Linux的2.6.20.1版本内核包(linux-2.6.20.1.tar.gz):源码包;
2、Modutils 3.2 工具包(module-init-tools-3.2.tar.gz):原2.4.x下的工具包不适用于2.6.x,必须升级;
3、Mkinitrd 4.1.18-2 工具包(mkinitrd-4.1.18-2.i386.rpm):在make install时需要使用该工具;
4、Device Mapper 开发包(device-mapper-1.00.19-2.i386.rpm):Mkinitrd工具包依赖该包;
5、LVM 开发包(lvm2-2.00.25-1.01.i386.rpm):Device Mapper依赖该包;
6、Binutils 开发包(binutils-2.17.tar.gz):如升级安装于虚拟机上的Red Hat Linux,则必需该包;
第二步:备份重要的数据(比如:/usr/src,/boot /etc)
第三步:安装module-init-tools-3.0.tar.gz工具包
第四步:更新mkinitrd程序 mkinitrd程序包依赖于device-mapper包, 而device-mapper包又倚赖于lvm2包。
第五步:
#cd linux-2.6.x
# make mrproper -----删除不必要的文件和目录.(这步对刚下的新核不需要,但如果你编译过一次,这步就需要,它可以删除.config文件)
第六步:make menuconfig(如果一个./config文件已存在,它将使用该文件设置那些默认的值)
第七步:make ormake dep (这一步,需要一个小时左右)
第八步:make clean (删除不必要的模块和文件,不会删除./config文件)
第九步:make bzImage(bzImage是big zImage的缩写)开始编译系统内核.这一步,需要十几分钟
第十步:make modules(编译在配置时选择为模块的,即选项前为[M]的)开始编译外挂模块
第十一步:make modules_install 安装编译完成的模块.
第十二步:make install 自动生成vmlinuz-2.6.20-1,System.map-2.6.20-1,initrd-2.6.20-1.img (在/boot目录下可以看到)
第十三步:对/boot/grub/grub.conf配置文件,进行适当修改