linux下常见编译错误的是,Linux一些常见问题——内核编译常见错误

Linux一些常见问题——内核编译常见错误

编译2.6.31内核后重启出现

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

解决方法:

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” 就不会有了

RedHat nash Version 5.1.19.6 startingrver(2.6.33.3)

mount: could not find filesystem ‘/dev/root’

setuproot: moving /dev faiLED: No such file or directory

setuproot: error mounting /proc: No such file or directory

setuproot: error mounting /sys: No such file or directory

switchroot: mount failed: No such file or directory

Kernel panic – not syncing: Attempted to kill init!

[Linux-initrd @ 0x1fc37000,0x228585 bytes]

于是在网上找了很多,也尝试了很多加模块、重编译了N次、改fstab等方法,都不行。最后在一个网站上找到解决方法。

方法:编译时修改.config文件中的“CONFIG_SYSFS_DEPRECATED_v2”,默认该选项为not set,被注释掉的,将其改为y。即修改为“CONFIG_SYSFS_DEPRECATED_V2=y”,修改后,再编译,重启即正常了。

699ba7046c51816a17b33a7caa85f179.png

0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值