红联Linux门户
Linux帮助

更新linux内核的心得

发布时间:2008-03-12 21:01:32来源:红联作者:redfans
今天根据李善平写的《边干边学linux内核指导》里面关于重新编译内核的内容,自己从网上下载了一个2.4.18的kernel,而本机原来装的是2.4.20的kernel。

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,估计是在编译内核的时候没有选上相应的编译选项所造成的。
文章评论

共有 0 条评论