1、将内核源代码包解压在/usr/local/src下面
2、使用make mrproper清除目录下所有配置文件和先前生成核心时产生的中间文件;
3、通过make menuconfig配置内核(由于只是实验,所以采用它的默认配置);
4、通过make dep检验源代码文件的依赖性和完整性;
5、通过make clean清除目标文件,确保所有有关文件都处于最新版本状态;
6、通过make bzImage生成内核镜像文件(保存在/usr/local/src/linux/arch/i386/boot/下面);
7、将生成的镜像文件bzImage拷贝到/boot目录下面;
8、通过make modules进行模块的编译;
9、通过make modules_install安装模块到标准的模块目录中;
10、根据系统启动的方式(lilo或grub)修改启动文件,我的是grub,所以在/boot/grub/下找到文件menu.lst文件,修改里面的内容为:
引用:default=0
timeout=10
splashimage=(hd0,4)/grub/splash.xpm.gz
title Red Hat Linux (2.4.20-8)
root (hd0,4)
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/
initrd /initrd-2.4.20-8.img
title Red Hat Linux(2.4.18)
root(hd0,4)
kernel /bzImage-2.4.18 ro root=LABEL=/
initrd /initrd-2.4.20-8.img
title DOS
rootnoverify (hd0,0)
chainloader +1
但是重启之后却出现了:kernel panic:i have no root and i want to scream的错误。不清除是为何就只能从网上查找资料,最后终于找到了相关资料,然后将menu.lst修改为:
引用:default=0
timeout=10
splashimage=(hd0,4)/grub/splash.xpm.gz
title Red Hat Linux (2.4.20-8)
root (hd0,4)
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/
initrd /initrd-2.4.20-8.img
title Red Hat Linux(2.4.18)
root(hd0,4)
kernel /bzImage-2.4.18 ro root=/dev/hda7
title DOS
rootnoverify (hd0,0)
chainloader +1
重启系统后选择bzImage启动新的系统可以顺利的进入到系统,虽然过程中出现了很多模块或者驱动检测不到,而且进入也只能是文本界面,不能进入X Window,估计是在编译内核的时候没有选上相应的编译选项所造成的。