+ -
当前位置:首页 → 问答吧 → 已解决LFS6.2.5启动不了的问题“please append a corrent "root="boot option......ker

已解决LFS6.2.5启动不了的问题“please append a corrent "root="boot option......ker

时间:2007-09-17

来源:互联网

牺牲了一个周末,参照置顶贴与精华贴跟手册,编译时,用晨想版主的技巧(bash提示符包含一个命令退出状态$?),每一步都退出0,证明没错误发生。但是重启后grub选择从lfs启动后就一片黑屏,啥反应也没有,不知问题是否出在编译内核及grub配置上?
我是用livecd装的LFS,硬盘上同时还有ubuntu,有一点不明的是,在ubuntu里硬盘分区为sda,但是在lfs里以hda开头(以前装的slackware也显示为hda)
(1) 那么到底我的硬盘是IDE呢,还是SCSI?(最后发现还是IDE硬盘)
(2) 编译内核时发现默认已将scsi支持选上,应该装了scsi驱动吧?
我将grub安装在lfs所在分区,原来ubuntu的grub安装在MBR,启动时显示的是ubuntu的grub里的menu.lst的内容,然后我将lfs的启动信息添加进ubuntu的/boot/grub/menu.lst,重启后选择从lfs启动,发现黑屏,屏幕上也为出现grub stage 之类的话,也没有光标提示符,就跟没开机一样,这到底是什么原因呢?
=====================================================================================================================
我在grub/menu.lst中去掉vga=792后可以boot,但出现错误:please append a corrent "root="boot option......(这里省略) kernel panic ...(这里省略)unable to mount root fs on unkwown block(0,0)
然后我用lfs livecd 启动后将grub安装在MBR覆盖了原来ubuntu的grub,重启后还是出现“unable to mount root fs on unkwown block(0,0)”之类的话,贴下我的menu.lst:

title LFS 6.2.5
root (hd0,11)
kernel /boot/lfskernel-2.6.16.38 root=/dev/hda12

title Ubuntu 7.04
root (hd0,8)
kernel /boot/vmlinuz root=/dev/hda9
initrd /boot/initrd.img

title SlackWare 12
root (hd0,10)
kernel /boot/vmlinuz root=/dev/hda11
initrd /boot/diag1.img

以前安装slackware的时候也出现“unable to mount root fs on unkwown block(0,0)”之类的话,但我加入initrd /boot/diag1.img
后就正常了。我猜想是不是编译内核时scsi的驱动没编译进去?下午重新编译内核试试
=========================9月17日晚 大悲=============================================
花了一个下午重新下载了最新的6.22内核,编译完成未显示错误,步聚如下:
(1)恢复到编译内核前的环境
export LFS=/mnt/lfs
mkdir $LFS
mount /dev/hda12 $LFS
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys
chroot "$LFS" /usr/bin/env -i \
HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
/bin/bash --login +h

mount -nvt tmpfs none /dev
/sbin/udevtrigger ## 豹兄总结的6.1的恢复命令为/sbin/udevstart,但是6.2,5里似乎没有这个命令,man了一下,不知道我这里用/sbin/udevtrigger对不对?
mkdir -v /dev/pts
mkdir -v /dev/shm
mount -vt devpts -o gid=4,mode=620 none /dev/pts
mount -vt tmpfs none /dev/shm

解压linux2.6.22-rc3.tar.bz2并进入linux-2.6.22-rc3/
make mrproper
make menuconfig ## 这里我按照豹兄的<<手把手>>编译scsi支持与ext3支持进内核
make
make modules_install
cp -v arch/i386/boot/bzImage /boot/lfskernel-2.6.22
cp -v System.map /boot/System.map

上面都没出现错误。
但当:
grub
grub> root (hd0,11)时提示找不到disk filesystem
不管我指定(hd0,*) 中*为多少,都出现这个错误。
于是退出 grub
并退出chroot的环境,这里运行 grub就可以安装引导信息了,我将LFS的启动信息添加进/boot/grub/menu.lst :
title LFS 6.2.5
root (hd0,11)
kernel /boot/lfskernel-2.6.22 root=/dev/hda12
于是出现了跟上午一样的情形,启动到一半出现以下错误信息:
please append a corrent "root="boot option......(这里省略) kernel panic ...(这里省略)unable to mount root fs on unkwown block(0,0)
晕,实在是没辙了。。。
==================================9月18日晨 大喜===========================================================
昨晚google了一下,发现很多兄弟跟我的情况一样,说明这是一个普遍存在的问题,都是由于配置make menuconfig的时候出了差错,即没选项IDE驱动,于是今天早上重新编译了一遍内核,终天能启动了。总结一下:我想这是由于手册上对make menuconfig说得少,再一个豹兄的<<手把手>>里说“IDE硬盘默认就可”这一句恐怕并不是放之四海而皆准的,因为很多兄弟都是在这一步吃了苦头,影响了积极性,我本人是第一次作LFS,前面都没错,就是启动不了,也是由于没选IDE驱动造成的!在这里希望置顶贴里最好是说明一下,以免后学者范同样的错误。
注:×××××××××××××××××××××××
make menuconfig时具体位置为:Device Drivers下面的 lATA/ATAPI/MFM/RLL support 将里面带IDE的通通选上,呵呵,以防万一,不过有些像IDE FLOPPY,IDE TAPE 就不用选啦,毕竟现在一般没人用软驱与磁带。

作者: murenjian   发布时间: 2007-09-17

这个问题很精典!
把金大侠的那篇编译内核的帖子好好看几遍。那篇帖子在基础版置顶帖。

作者: tfkdmwmqtr   发布时间: 2007-09-17

引用:
作者: tfkdmwmqtr
这个问题很精典!
把金大侠的那篇编译内核的帖子好好看几遍。那篇帖子在基础版置顶帖。
==============================================
谢谢,刚来linuxsir就爱上她了,感觉linuxsir很温馨,朋友们很热情,这么快就有人回复了,谢谢,呵呵

作者: murenjian   发布时间: 2007-09-18

sata硬盘要选sata驱动的 好像ext2也的选

作者: smallman   发布时间: 2007-09-18

也可以考虑直接把ubu的config文件拷贝到linux-2.6.22-rc3目录下 make oldconfig

作者: smallman   发布时间: 2007-09-18

引用:
作者: smallman
也可以考虑直接把ubu的config文件拷贝到linux-2.6.22-rc3目录下 make oldconfig
有想过,但在ubuntu里没找着内核源代码,可能是安装的时候没安装源码,后来安装slackware的内核源代码(利用他自带的配置文件)也成功了。建议初学者参考这篇文章:http://www.linuxsir.org/bbs/showthread.php?t=213049 (如何学习编译内核──索引篇)
直接用slcackware的config去编译内核

作者: murenjian   发布时间: 2007-09-18

我也是这个问题。想问楼主,你说的选择IDE驱动,能否详细说明你在make menuconfig时改了哪些吗?

谢谢!

作者: bdren   发布时间: 2007-09-18

引用:
作者: bdren
我也是这个问题。想问楼主,你说的选择IDE驱动,能否详细说明你在make menuconfig时改了哪些吗?

谢谢!
make menuconfig时具体位置为:Device Drivers/lATA/ATAPI/MFM/RLL support/ 将里面带IDE的通通选上,呵呵,以防万一,不过有些像IDE FLOPPY,IDE TAPE 就不用选啦,毕竟现在一般没人用软驱与磁带。

作者: murenjian   发布时间: 2007-09-18

引用:
作者: murenjian
make menuconfig时具体位置为:Device Drivers/lATA/ATAPI/MFM/RLL support/ 将里面带IDE的通通选上,呵呵,以防万一,不过有些像IDE FLOPPY,IDE TAPE 就不用选啦,毕竟现在一般没人用软驱与磁带。
谢谢。试一试先

作者: bdren   发布时间: 2007-09-18

还是不行啊!
我使用的是vmware,内核是2.6.22,已经加上了scsi支持,你说的IDE也加上了。但是还是不行。
Why?

作者: bdren   发布时间: 2007-09-18

还是不行啊。
Scsi加上了,IDE也加上了。
使用的是vmware,scsi硬盘。内核是2.6.22。
Why?
试了有一个星期了,没有解决办法。

作者: bdren   发布时间: 2007-09-18

我和你的问题一样,已经卡住一个多月了,今天也才是刚解决,跟你问题的性质是一样的
IDE方面确实没有提到,要注意。我也是第一次LFS

作者: x_crdjn   发布时间: 2007-09-20

我至少编译了十几遍内核,都不能正常启动,郁闷了好长一段时间,真想放弃,光/boot文件夹就十几个内核

作者: x_crdjn   发布时间: 2007-09-20

也可以考虑直接把发行版的config文件拷贝到linux-2.6.22-rc3目录下 make oldconfig

作者: smallman   发布时间: 2007-09-21

我的已经解决了,是vmware选择scsi适配器的问题:它默认不是buslogic的!!!

作者: bdren   发布时间: 2007-09-24

热门下载

更多