红联Linux门户
Linux帮助

rhel5.4升级内核

发布时间:2009-10-11 00:29:18来源:红联作者:yqw1122
[i=s] 本帖最后由 yqw1122 于 2009-10-12 09:42 编辑 [/i]

今天,我把rhel5.4的内核升级到了2.6.28.10
具体的方法给贴出来
本人很菜,方法应该不是特别的“科学”,但是编译成功了,希望给想升级内核的朋友一点参考
1.到http://www.kernel.org/网站上下载2.6.28.10的包
2.将包解压到/usr/src目录下,ls查看出现linux-2.6.28.10目录
3.到linux-2.6.28.10目录
#make menuconfig (定制内核)(如果不可以的话,用make config代替)
#make
(漫长的等待)
#make modules_install
#make install
这一步结束了,基本的东西就搞定了
接下来就是修改grub了
#cd /etc
#vi grub.conf
grub的内容: #boot=/dev/sda
default=1(把1改成0保存退出就可以了)
timeout=8
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.28.10)
root (hd0,0)
kernel /boot/vmlinuz-2.6.28.10 ro root=LABEL=/ rhgb quiet
initrd /boot/initrd.img
title Red Hat Enterprise Linux Server (2.6.18-164.el5)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-164.el5 ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.18-164.el5.img

重启计算机,成功进入,查看内核uname -r 是2.6.28.10,成功了
但是有一点小bug,就是开机出现“insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists“提示
去除bug的方法我不赘述,请参考http://hi.baidu.com/linuxnature/blog/item/2ab0e3cd19da571901e9281f.html,写的很详细
文章评论

共有 3 条评论

  1. Bruce.Ko 于 2009-11-03 13:02:05发表:

    http://hi.baidu.com/linuxnature/ ... da571901e9281f.html 帮楼主贴过来了:

    编译了新的内核2.6.30后总是在启动的时候报错

    insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists

    G到了下面这篇文章

    是因为重复加载了/lib/dm-region-hash.ko

    可以解决的,步骤如下
    1,解压initrd文件
    [root@bogon ~]# cp /boot/initrd-2.6.30.4.img /tmp
    [root@bogon ~]# cd /tmp/
    [root@bogon tmp]# ls
    initrd-2.6.30.4.img
    [root@bogon tmp]# mkdir newinitrd
    [root@bogon tmp]# cd newinitrd/
    [root@bogon newinitrd]# zcat ../initrd-2.6.30.4.img |cpio -i
    11537 blocks
    释放之后看到如下内容
    [root@bogon newinitrd]# ls
    bin dev etc init lib proc sbin sys sysroot

    2,ok,下边就是编辑init,删掉其中重复的四行中的两行
    echo "Loading dm-region-hash.ko module"
    insmod /lib/dm-region-hash.ko
    echo "Loading dm-region-hash.ko module"
    insmod /lib/dm-region-hash.ko

    3,重新打包initrd
    [root@bogon newinitrd]# find .|cpio -c -o > ../initrd
    11538 blocks
    [root@bogon newinitrd]# cd ..
    [root@bogon tmp]# gzip -9 < initrd > initrd.img
    [root@bogon tmp]# ls
    initrd-2.6.30.4.img initrd initrd.img newinitrd

    好了,initrd.img就是重新打包的initrd了,然后把initrd.img拷贝到/boot,更改grub.conf里边的initrd-2.6.30.4.img为initrd.img就可以了,
    这样“insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists” 就不会有了

    其实将init文件的第二行“setquiet” 去掉,你就知道initrd文件到底在做什么了

  2. prinse 于 2009-10-13 15:18:46发表:

    其实,个人认为用 rhel 的话,不太有必要考虑内核升级的问题。如果喜欢新的内核,不如用 ubantu,fedora 这些不断更新的发行版……

  3. theset 于 2009-10-11 09:15:15发表:

    还没自己升过内核,向楼主学习