编译Linux内核(2.4.8.20到2.6.20)

发布时间:2020-01-08编辑:脚本学堂
编译Linux内核(从2.4.8.20到2.6.20), 有需要的朋友可以参考下。

编译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工具包
 

复制代码 代码如下:
# ./configure --prefix=/
# make moveold
# make install
# ./generate-modprobe.conf /etc/modprobe.conf

第四步:更新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配置文件,进行适当修改