LFS 6.2碰到解决的几个小问题

 经历了千辛万苦,终于编译完了全部LFS系统,怀着激动的心情重启机器,期待着自己亲手构建的LFS顺利运行时,遇到了Kernel panic ——内核打出类似下面的一段话,然后死机:  

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)

经研究分析,得知是硬盘驱动器的驱动模块没有加入到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的新内核下,问题解决。

#lspci

得到00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01),

所以加入的硬盘驱动器驱动模块是Intel Corporation 8237 PIIX series

eth0:

ethernet Controller:AMD 79c970 PCnet32 LANCE

驱动程序在DeviceDriver-->Ethernet Device

选择 AMD PCnetII

在VMWare+LFS 6.3安装Framebuffer支持

笔者想在LFS6.3中运行Qt Embedded版本的WebKit,需要Framebuffer的支持。即设备/dev/fb0。尝试多次得知需要在编译内核 make menuconfig时加入support for framebuffer device、framebuffer console support、vesa VGA graphics support

启动的时候需要配置vga参数,使用LILO则修改/etc/lilo.conf,使用grub则修改/etc/grub.conf。笔者当前grub配置文件放在/boot/grub/下。

修改方式为:

修改/boot/grub/menu.lst文件,为kernel增加启动参数“vga=xxx”。(xxx表示分辨率和色彩,具体数值见相关资料)。

vga=788

进入系统后可以看到/dev/fb0 、/dev/fb1已经安装。

另外一个编译错误:编译安装grub-0.97时出现

asmstub.c:614: error: `KEY_LEFT' undeclared (first use in this function)

asmstub.c:616: error: `KEY_RIGHT' undeclared (first use in this function)

asmstub.c:618: error: `KEY_UP' undeclared (first use in this function)

asmstub.c:620: error: `KEY_DOWN' undeclared (first use in this function)

asmstub.c:622: error: `KEY_DC' undeclared (first use in this function)

asmstub.c:624: error: `KEY_BACKSPACE' undeclared (first use in this function)

研究分析得知,undeclared的这几个宏,是在ncurses里面定义的,出现这个问题的原因可能是ncurses没有安装或安装失败,导致使用curses.h失败,回退到前面的安装过程,没有发现错误。

于是采用新的解决办法:

加 --with-ncurses-include-dir=/usr/includes 到./configure之后,显示的指明ncurses的路径。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值