[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,写的很详细
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文件到底在做什么了
prinse 于 2009-10-13 15:18:46发表:
其实,个人认为用 rhel 的话,不太有必要考虑内核升级的问题。如果喜欢新的内核,不如用 ubantu,fedora 这些不断更新的发行版……
theset 于 2009-10-11 09:15:15发表:
还没自己升过内核,向楼主学习