编译2.6.37内核后重启出现
insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists
解决方法:
1,解压initrd文件
[root@bogon ~]# cp /boot/initrd-2.6.37.img /tmp
[root@bogon ~]# cd /tmp/
[root@bogon tmp]# ls
initrd-2.6.37mg
[root@bogon tmp]# mkdir newinitrd
[root@bogon tmp]# cd newinitrd/
-----------------------------------------------------------------------
[root@bogon newinitrd]# mv initrd-2.6.37.img initrd-2.6.37.gz
[root@bogon newinitrd]# gzip -d initrd-2.6.37.gz
[root@bogon newinitrd]# cpio -ivcdu < initrd-2.6.37
or: -----------------------------------------------------------------------
[root@bogon newinitrd]# zcat ../initrd-2.6.37.img |cpio -ivcdu
-----------------------------------------------------------------------
释放之后看到如下内容
[root@bogon newinitrd]# ls
bin dev etc init lib proc sbin sys sysroot
2,ok,下边就是编辑init,删掉其中重复的四行中的两行
[root@bogon newinitrd]# vim 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 -ocvB > initrd-2.6.37
11538 blocks
-----------------------------------------------------------------------
[root@bogon newinitrd]# gzip -9 -c initrd-2.6.37 >initrd-2.6.37.gz
[root@bogon newinitrd]# mv initrd-2.6.37.gz initrd-2.6.37.img
or: -----------------------------------------------------------------------
[root@bogon newinitrd]# gzip -9 < initrd-2.6.37 > initrd-2.6.37.img
-----------------------------------------------------------------------
[root@bogon newinitrd]# ls
initrd-2.6.37.img bin dev etc init lib proc sbin sys sysroot
[root@bogon newinitrd]# rm /boot/initrd-2.6.37.img; cp /tmp/initrd-2.6.37.img /boot/initrd-2.6.37.img
好了,initrd-2.6.37.img就是重新打包的initrd了,然后把initrd.img拷贝到/boot,更改grub.conf
这样“insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists” 就不会有了
其实将init文件的第二行“setquiet” 去掉,你就知道initrd文件到底在做什么了
阅读(786) | 评论(0) | 转发(0) |