您的位置:首页 > 其它

I have a dream 我有一个梦想

2007-03-21 18:00 309 查看
内核版本是2.6.18,新的内核是2.6.26。

1.下载新内核,下载网站www.kernel.org

2.copy内核到/usr/local/src下

3.解压内核 解压内核命令 tar -xjvf linux-2.6.26.tar.bz2

4.清理以前编译所生成的文件 命令为 make distclean,如果以前没有编译过,此部可省略

5.拷贝原有内核的配置文件,到新内核下。

cd /usr/local/src

cp -p /boot/config-2.6.18-53.el5 .config

6.可视化的内核编译选项 make menuconfig

7.编译内核 make all 注意,此过程比较漫长,看坐下来,喝杯咖啡,聊下天,上个厕所,基本就看编译完,15K E5800八核CPU编译四十来分钟。

8.加载外挂模块 命令 make modules_install

9.安装内核 make install

以上操作特别要注意的是,在编译内核的过程中一定要安装gcc编译工具,不然根本就编译不了,如果你没有安装gcc编译器,我建议你重新装系统吧,装的时候把开发工具装上去,不然你自己装gcc,你会被累死去,gcc依赖的包3-40多个,rpm 方式装你要累死去。

10.解压initrd文件

initrd文件是在系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程。

cp /boot/initrd-2.6.26.img /tmp

cd /tmp/

mkdir newinitrd

cd newinitrd/

11.重新打包initrd文件

zcat ../initrd-2.6.26.img |cpio -i

find .|cpio -c -o > ../initrd

gzip -9 < initrd > initrd-2.6.26.img

12.将initrd重新复制到/boot目录下

13.编辑系统启动菜单,选择从initrd-2.6.26.img 内核启动

需要编辑 vim /boot/grub/grub.conf文件

注意写启动内核的时候必须要写/目录所在的磁盘

重启完电脑,就已经成功加载新的内核

最后讲下启动的原理:启动顺序 boot.img->vmlinuz->initrd.z

boot.img 应该是引导盘,是启动时首先加载的,里面应该有grub之类的引导程序负责识别文件系统加载vmlinuz

vmlinuz:内核,安装过程也是有linux内核的。

initrd.z 这个是init ram disk 的意思,内核加载这个构成一个内存内部的跟文件系统,在用户层初始化系统,比如检测硬件动态加载module之类的。老的image initrd初始化完后跳回内核,内核执行init 调用init.d脚本,新的cpio格式执行完后initrd直接调用init,用户层来看没啥区别。建议在升级新内核的时候不要把老内核删掉了,万一出问题了还可以重新编译。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: