//-----------------------------------------------------------------------------------------
//Author:lanyang123456
//2011-7-4
//-----------------------------------------------------------------------------------------
在内核版本为2.6.21-1.3194.fc7的Fedora系统下,编译版本为2.6.18.1的内核,编译无误,启动2.6.18.1内核时出现下列错误:
Reading All physical volumes. This may take a while.
No volume groups found.
Volume group ”VolGroup00”not found
Unable to access resume device (/dev/VolGroup00/LogVol01)
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!
然后,启动就停滞。
解决方法:
在2.6.21系统下,编译2.6.18.1的内核,出现上述问题,猜想可能是内核版本不匹配的问题,下了一个2.6.21.1内核,进行编译,编译启动都没问题。由此,可知是内核配置的问题。于是使用2.6.21系统自带的内核配置文件对2.6.18.1内核进行配置。并且系统自带的内核配置文件,对系统支持较好,省去不少内核配置方面的麻烦。废话少说,解决步骤如下。
首先,将2.6.21-1.3194.fc7内核的编译配置文件,(位于/boot目录下,名为config-2.6.21-1.3194.fc7)拷贝到2.6.18.1内核源码目录下,改名为.config,然后make menuconfig,,进入内核配置界面。
图1 内核配置主界面
选择设备驱动一项。
图 2 选择SCSI 设备驱动
选择SCSI驱动一项。
图3 选择SCSI底层驱动
选择SCSI底层驱动一项。
图4 选择Serial ATA(SATA)
该选项包括下拉列表,共6项,如下图所示。
图5 Serial ATA(SATA) support下拉选项
接下来:
图6 选中 NVIDIA SATA support一项
添加Serial ATA(SATA) support模块,即是添加对Serial ATA(SATA)的驱动支持。然后重新编译系统内核、模块,编译完成,重新启动,OK。
说明:
另外, 为了确定是否需要添加Serial ATA(SATA)驱动支持模块,对Serial ATA(SATA) support中6项逐次进行了试验,费了很大功夫才搞定。你可能会问,为什么是Serial ATA(SATA) support这一项,而不是添加其他驱动模块。本人也是看到网上有帖子说要添加SCSI和AHCI,后来自己针对遇到的问题,添加SCISI和AHCI,测试,发现不行,只好再试试其他选项,后来终于瞎猫碰到死耗子。
由于个人能力有限,希望大家多批评指正,欢迎学习交流。
转载请注明出处,谢谢!
参考资料:
其中前两个作用较大
http://heqiuyu.blog.163.com/blog/static/102346757201032741930490/
http://weylan.blog.edu.cn/2009/272429.html
http://www.ajaxstu.com/Linuxneihezhishi/327986.html
http://communities.vmware.com/thread/288708