弄了3天总算是把LFS弄好了,都是按照LFS一步步来的,这里就只说一下有问题的地方。 第一个错误是 在第五章第一次安装linux-libc-headers-2.6.12.0时出错 文档中的命令: cp-Rvinclude/asm-i386/tools/include/asm cp-Rvinclude/linux/tools/include 错误忘了
弄了3天总算是把LFS弄好了,都是按照LFS一步步来的,这里就只说一下有问题的地方。
第一个错误是在第五章第一次安装linux-libc-headers-2.6.12.0时出错
文档中的命令:
cp -Rv include/asm-i386 /tools/include/asm
cp -Rv include/linux /tools/include
错误忘了好像是提示没有include/asm-i386这个文件或目录(事实上是有的,有点想不通),我嫌麻烦就直接使用宿主lfs-livecd的/usr/include中的文件,即cd到/usr/include中,再使用:
cp -Rv asm /tools/include/asm
cp -Rv linux /tools/include.
(这里我是先进/usr/include看看然后再操作,可以直接cp -Rv /usr/include/asm/tools/include/asm)
但是在第六章中再次安装是没有这个问题,但是命令有点不一样
文档中的命令:
install -dv /usr/include/asm (
cp -Rv include/asm-i386/* /tools/include/asm
cp -Rv include/linux /tools/include
我想大概是命令的问题(还是想不通,只是猜想),用类似第六章的命令(cp -Rv include/asm-i386/* /tools/include/asm)大概在第五章就不会出错了,没有验证,有人做的话建议可以试一下看看。不过我之前的办法在后面也没有出项问题,当然还是建议根据文档来。
第二个错误是做引导的时候编译完内核,做完引导,重启后遇到Kernel panic ——内核打出类似下面的一段话,然后死机:
VFS: Cannot open root device "sda8" 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)
因为我virtualbox里的虚拟机的硬盘是SICI的,所以和文档中grub时使用的hdax不一样,而是使用sdax,所以我开始以为可能是grub中menu.list和fstab中的设置问题。但是试了很多次都没用,后面想了一下内核其实已经引导起来了,应该是内核的编译设置的错误。网上查了一下,得到两个比较有用信息如下,这两个都是说在内核增加SICI的支持,为了不需要在grub设置中再增加init的设置要把它编译进内核不能以模块启动。
1.http://hi.baidu.com/zkheartboy/item/4e3a5af2b0d94d0fc6dc452b
这个是要设置Device Driver
|---->DriverATA/ATAPI/MFM/RLL
|---->Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
|----->generic/default IDE chipset support
|----->PCI IDE chipset support
|---->Generic PCI IDE Chipset Support
2.http://www.linuxsir.org/bbs/thread244052.html
这个是说要在Device Drivers->SCSI device support->SCSI low-level drivers下加入BusLogic SCSI support的支持
但是这两个我都增加了,重新编译后新内核还是出现同样错误。因为浪费了很多时间,我想暂时先就这样,先把LFS运行起来,错误以后再搞清楚。所以后面我直接使用了livecd的.config。于是问题解决!