文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>vmware, centos5.5编译新的linux内核问题解决

vmware, centos5.5编译新的linux内核问题解决

时间:2010-11-14  来源:netkisser

vmware6.5下面装了centos5.5,因为centos默认内核太低,是2.6.18的,准备编译一个新内核版本上去,找了2.6.33.7。 编译成功后,启动时总有这样的错误 --------------------------
insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists
mount: could not find filesystem '/dev'root' x83
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!
--------------------------

这个很明显,是找不到根设备。一般遇到这种问题第一反映就是硬盘驱动没加进去。 解开initrd查看。 cp /boot/initrd-2.6.33.7.img ./initrd-2.6.33.7.img.gz gunzip initrd-2.6.33.7.img.gz cpio -i --make-directories <initrd-2.6.33.7.img   查看生成的init脚本 ---------------------------- echo "Loading ext3.ko module"
insmod /lib/ext3.ko
echo "Loading scsi_mod.ko module"
insmod /lib/scsi_mod.ko
echo "Loading sd_mod.ko module"
insmod /lib/sd_mod.ko
echo "Loading scsi_transport_spi.ko module"
insmod /lib/scsi_transport_spi.ko
echo "Loading mptbase.ko module"
insmod /lib/mptbase.ko
echo "Loading mptscsih.ko module"
insmod /lib/mptscsih.ko
echo "Loading mptspi.ko module"
insmod /lib/mptspi.ko
echo "Loading libata.ko module"
insmod /lib/libata.ko
echo "Loading ata_piix.ko module"
insmod /lib/ata_piix.ko
echo "Loading dm-mod.ko module"
insmod /lib/dm-mod.ko
echo "Loading dm-log.ko module"
insmod /lib/dm-log.ko
echo "Loading dm-region-hash.ko module"
insmod /lib/dm-region-hash.ko
echo Waiting for driver initialization.
stabilized --hash --interval 1000 /proc/scsi/scsi
mkblkdevs
echo Scanning and configuring dmraid supported devices
resume LABEL=SWAP-sda2
echo Creating root device.
mkrootdev -t ext3 -o defaults,ro sda1
echo Mounting root filesystem.
mount /sysroot
echo Setting up other filesystems.
setuproot
echo Switching to new root and running init.
switchroot
-----------------------------------------
再查看lib,里面这些库都有啊,VMware下虚拟scsi设备是用的LSI的,应该是用的mpt*这几个驱动的。   折腾了好久,还是出不来,最后google到这个地方,才了解了 http://www.centos.org/modules/newbb/print.php?form=1&topic_id=23627&forum=37&order=ASC&start=0 原来是CONFIG_SYSFS_DEPRECATED_V2 这个选项问题,还没仔细查,应该是lable引起的问题吧。   把新内核.config里的这个CONFIG_SYSFS_DEPRECATED_V2=y打开,再重新编译,安装,OK。   【附记,编译initrd时,如果需要哪些模块,可以通过--with加进去,如 mkinitrd /boot/initrd-2.6.33.7.img 2.6.33.7 --with-ata_piix --with-mptbase --with-libata --with-mptspi --with-ehci_hcd --with-ohci_hcd --with-uhci_hcd --with-jbd 】   【另,insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists
这一行错误是initrd里面的init脚本多了这一行,也不知道mkinitrd是怎么弄的,竟然多生成这一行,可以将initrd解开后,手工删除这一行,再重新打包回去就可以了。
------------------------------- find . | cpio -c -o > ../initrd.img cp ../initrd.img /boot/initrd-2.6.33.7.img -------------------------------
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载