根据LFS7.2文档的指导,完成了整个系统的编译安装等步骤,最后在引导的时候出现了下面的问题:
内核打出类似下面的一段话,然后死机:
VFS: Cannot open root device "hda0" or unknown-block(0,0) Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
通过google得知这是由于没有编译硬盘驱动到内核中,我主要参考了连个网络资料,我用的是vmware8.0版本的虚拟机,通过搜集网络资料如下的方式解决了问题:
如下为网络搜寻的解决办法,原地址为http://blog.csdn.net/q472599451/article/details/7992647:
经研究分析,得知是硬盘驱动器的驱动模块没有加入到Linux内核中。
解决的也很直接:找到硬盘控制器的型号,然后把相应的驱动程序编译到内核中。更详细的解决步骤是:
1、在构建LFS的host系统上,运行lspci命令,列出机器的硬件信息。
2、在硬件信息中,查找 IDE interface 或 SATA Controller 或 SAS Controller 等关键字,得到到硬盘控制器的型号
3、在内核配置中,把对应的驱动程序编译到内核(不能编译成模块)。对 IDE硬盘,驱动程序在DeviceDrivers-->ATA/ATAPI/MFM/RLL配置项下找;对于 SATA硬盘,驱动程序在DeviceDriver-->SCSI device support-->SCSI low-level drivers配置项下找。
4、重新编译内核,copy到相应的/boot文件夹,重启机器,在LFS的新内核下,问题解决。
这是两外一个方法,原地址为:http://blog.csdn.net/qihuanfengyun/article/details/5189789
在选择模块前,要先弄清楚VMware虚拟机的硬件类型,下面这个表是VMware6中自定义虚拟机配置时给出的配置,不难发现当您使用 VMware推荐向导给出的配置时,实际使用的是SCSI类型设备中的LSI Logic设备。这里要注意的一个地方是,既然有两个SCSI设备能够供其选择,那么该如何判断呢?很简单,因为他是通过内核主版本号来划分的。感兴趣的 朋友能够通过新建虚拟机Custom-Linux下Version列表中Other Linux2.6.X kernel 和 Other Linux2.4.X kernel来比较。2.4内核之前使用BusLogic,2.6内核使用的是 LSI Logic 。
VMware 6.0:
I/O ADapter Types
IDE adapter: ATAPI
SCSI adapter: BusLogic
LSI Logic
这是Other Linux2.6.X kernel配置系统信息
00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01)
这是Other Linux2.4.X kernel配置系统信息
00:10.0 SCSI storage controller: BusLogic BT-946C (BA80C30) [MultiMaster 10] (rev 01)
现在分别介绍模块选择路径
这个是SCSI磁盘设备模块,必须选择。
Linux Kernel Configuration
-> Device Drivers
-> SCSI device support
- > SCSI disk support
这个是BusLogic设备驱动模块。使用这个设备的的朋友需要选取。
Linux Kernel Configuration
-> Device Drivers
-> SCSI device support
-> SCSI low-level drivers
-> BusLogic SCSI support
这个是LSI Logic设备驱动模块。使用这个设备的的朋友需要选取。
Linux Kernel Configuration
-> Device Drivers
-> Fusion MPT device support
-> Fusion MPT (base + ScsiHost) drivers
VFS:Cannot open root device "sda" or unknow-block(0,0)
Please append a correct "root=" boot option
kernel panic:VFS:Unable to mount root fs on unknown-block(0,0)
这个 让人心烦的错误。
另外如果提示“No file system” 没有文件系统之类的东西说明你内核里没有把文件驱动编译进内核。
Linux Kernel Configuration
->File Systems
->里面选上什么ext2、ext3、ext4、xfs之类的都可以选上。(多了可以少了不行)