|
最近看到很多人编译的内核到mount rootfs时出错,特意来分享下曾经遇到过的相关的原因和处理方式。
手工安装内核:配置、编译完成后make install会把vmlinuz安装到、/boot目录,;make modules_install,安装模块。
下面来分析rootfs的问题现象和原因:
1、报错信息大概是未找到root(x,x)
原因:一般是没有把磁盘控制器的驱动编译进内核
处理方式:把相关的磁盘控制器驱动编译进内核,
比如Intel的一般是
- Device Drivers --->
- <*> Serial ATA and Parallel ATA drivers --->
- <*> AHCI SATA support
复制代码
2、类似“VFS:cannot open root service “disk/by-id/ata_WDC_WD3200BEVT-22A23T0_WD—WX91A5098309-part” or unknown-block(2,0)”这样的
原因:仔细看提示,说明已经识别了硬盘,那么控制器应该是驱动起来了的。未知的块设备?其实应该是没有正确识别磁盘。
处理方式:SATA的硬盘在BIOS里面设置为AHCI模式的话,系统是把它识别为SCSI Disk的,所以这个也要编译进内核:
- Device Drivers --->
- SCSI device support --->
- <*> SCSI disk support
复制代码
3、报错类似unknown filetype
原因:就是说不能识别的文件系统类型
处理方式:把相关的文件系统支持编译进内核,比如ext4的:
- File systems --->
- <*> The Extended 4 (ext4) filesystem
- <*> SCSI disk support
复制代码
其他的欢迎大家补充下,至少让新生们能先进系统,其他驱动可以慢慢来 |
|