升级RedHat as4内核到2.6.33.3


原来装的RedHat as4的硬盘上到新配的机器上启动不了(主板华硕P5QPL-AM),不想重装系统,只好升级内核

首先从http://www.kernel.org/pub/linux/kernel/v2.6/上下载最新的内核,这次我下载的是linux-2.6.33.3.tar.bz2   ,把这个文件放在/root/目录下
#tar jxvf linux-2.6.33.3.tar.gz 
生成一个目录linux-2.6.33.3

#cd linux-2.6.33.3

#make mrproper
这个命令的作用是清理以前编译内核的痕迹,其实如果是新解压的,不用这个命令应该也可以。你可以对比
看一下make menuconfig的前后,编译完成的前后目录中文件的变化。
当前运行的是redhat as4 update8,内核版本是2.6.9-x.EL,我对自己的硬件配置并不是特别清楚,所以还是保留原有配置的好,我想要的只是让我的内核能支持新的netfilter模块功能而已。(查看当前内核版本可以用这个命令uname -a )所以
#ls -al /boot
能够看到下面有个文件,类似config-2.6.9-x.EL,这就是现在的内核对应的.config文件了,把它考到新内核
所在的目录下
#cp /boot/config-2.6.9-x.EL /root/linux-2.6.33.3/.config
如果这个目录下已经有.config这个文件了……当然覆盖掉了。然后开始编译
#make menuconfig
make menuconfig 需要安装libcurses5-dev支持,如果是redhat比较新的版本比如as4或者fc4,可能是需要ncurses-5.4-13.i386.rpm和ncurses-devel-5.4-13.i386.rpm这两个文件,请先确认你已经装上了这两个软件包(安装系统的时候最好把开发工具选上)

进去以后,选择菜单很靠下的选项"Load an Alternate Configuration File"然后select,会问你是否要提取.config,当然了。
然后你的基本配置信息就已经被保存了,如果没有什么不满意的地方,不用改动了,除非你很清楚你到底改
了什么,配置完成后,选择exit退出,会问你是否保存,当然保存了。这时候就生成了新的.config文件了,可以开始编译内核了!!!编译2.6.33.3内核最好使用GCC4.5.0,否则编译会出错
#make
这个编译的过程相当的长,先下个最新的电影看看。如果你想要检验自己的水平,也可以通过仔细阅读目录
中的README文件来让自己对linux有个更深刻的认识。
make完成后,就要把模块都安装进系统去了!
#make modules_install
这个时间也挺长,但不如上面那个。新的模块都会放在/lib/modules目录下对应的内核版本目录中,以后如果你使用这个新编译的内核引导系统,则这个系统所使用的内核模块都在对应这个内核版本的目录中,包括你的驱动程序啊什么的。
哦?模块安装完了?ok,你想不想开始使用这个内核呢?不想的话,先放这儿好了,以后慢慢来。
如果想要立刻就用,就输入
#make install
这个时候会把你新编译的内核复制到/boot目录下(这个目录可是专门存放内核镜像和相关文件的地方,所以安装系统的时候最好把这个目录单独划分为一个分区,不要让其他程序占用这个分区的空间……至少redhat as4是这样的),同时还会修改你的grub.conf文件,使得引导菜单会多出一个选项,grub.conf我就不多讲了。
所有的命令都顺利完成了?
#reboot
重启后你会发现启动菜单中(或者说grub引导界面中)多了一个选项,我的就是linux-2.6.33.3这个选项了,选择这个选项,你就开始进入新的内核系统.

如果要默认使用新内核,就要修改grub

#vi /boot/grub/menu.lst
如果编译成功会自动添加redhat (2.6.33.3)是我新内核 修改default 如果你要用第一个内核就改 default=0 第二个是 1 依次类推。。。
default=0
timeout=0
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.33.3)
root (hd0,0)
kernel /vmlinuz-2.6.31 ro root=UUID=b75809ed-8353-4679-bfe4-e5686f3d6b18 rhgb quiet
initrd /initrd-2.6.33.3.img

相关内容