+ -
当前位置:首页 → 问答吧 → LFS全过程做完了,启动不了

LFS全过程做完了,启动不了

时间:2007-10-04

来源:互联网

编译LFS真是太痛苦了!
现在终于所有都通过了,但是启动又出问题,估计是内核的问题,用LFS6.2自带内核替换后可以正常启动。
启动不正常的画面见附件。

哪里还有问题呢?
上传的图像
rebooterror.JPG (94.4 KB, 101 次查看)

作者: easeover   发布时间: 2007-10-04

没找到硬盘?
重编译内核,看虚拟机的 IDE 硬盘选什么?文件系统中 ext2 / ext3 都 要选,最好是编译到内核,其中 ext2 是必須的。另外,块设备的选项中,也会决定硬件是否能够被识别。
/boot/grub/menu.lst 和 /etc/fstab 这两文件一定要弄对。

作者: tfkdmwmqtr   发布时间: 2007-10-04

fstab内容如下:
# Begin /etc/fstab

# file system mount-point type options dump fsck
# order

/dev/hda2 / xfs defaults 1 1
/dev/hda1 swap swap pri=1 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
devpts /dev/pts devpts gid=4,mode=620 0 0
shm /dev/shm tmpfs defaults 0 0
# End /etc/fstab

menu.lst如下:
# Begin /boot/grub/menu.lst

# By default boot the first menu entry.
default 0

# Allow 30 seconds before booting the default.
timeout 30

# Use prettier colors.
color green/black light-green/black

# The first entry is for LFS.
title LFS 6.2
root (hd0,1)
kernel /boot/lfskernel-2.6.16.35 root=/dev/hda2

内核编译选项没有选择支持ext2

重新编译一下试试,多谢了!

作者: easeover   发布时间: 2007-10-04

加上ext2重新编译,故障还那样。

作者: easeover   发布时间: 2007-10-04

xfs 文件系统呢?
文件系统选项的都编译到内核吧,非根分区除外。

也有可能是硬盘没认到。

作者: tfkdmwmqtr   发布时间: 2007-10-04

xfs支持加上了。会不会编译过程中的错误造成的?

作者: easeover   发布时间: 2007-10-04

你已经成功了。因为,你已经完成了 LFS 基础系统的软件包的编译。这个系统拿到其它的机器上,只需要给个内核就能启动的。所以你已经成功了。
做LFS,编译几个软件包不难,难在定制内核。这是一大头。像我这样编译过内核七、八十次,仍然不能保证每次都行。
你可以找个发行版的 内核 config 文件,略删减即可。可以用 Slackware 的内核 config 文件,你到 Slackware 版块去找,我前天问过了的。
这里:
http://www.linuxsir.org/bbs/showthread.php?t=313144

编译内核,你看金大侠的那篇文章,在基础版置顶帖。

作者: tfkdmwmqtr   发布时间: 2007-10-04

是啊,也许LFS编译与内核编译相比,只是自动化差一点。编译内核的选项太难搞定了,我总是一头雾水。感觉编译内核也是件很痛苦的事情。
我去找现成的config试试。

作者: easeover   发布时间: 2007-10-04

看来是内核编译配置的问题,找了个slackware-12.0 的内核 config 文件,没有减掉什么就编译了,好长时间,体积也大了50%以上,但启动没有问题了。
谢谢你~

作者: easeover   发布时间: 2007-10-04

我也是编译内核n次才成功的

作者: utstar   发布时间: 2007-10-04

引用:
作者: easeover
看来是内核编译配置的问题,找了个slackware-12.0 的内核 config 文件,没有减掉什么就编译了,好长时间,体积也大了50%以上,但启动没有问题了。
谢谢你~
可以开始学习在真实环境中做了。如果你怕出错,怕丢失数据,可以先把硬盘上重要的东西备份。重要的资料、视频教程之类的刻成 DVD 光盘也不错。
干掉 M$ 吧 !
完全在Linux下,你的Linux水平才能有质的飞跃。
如果实在需要用M$ ,可以考虑在虚拟机中安装一个。

作者: tfkdmwmqtr   发布时间: 2007-10-04

真想脱离M$!但是,我们的工作根本就离不开它,工作上的程序根本离不开,简直是铺天盖地,研究linux只是想做一些server。

但是,在真实环境中,比方red hat,需要的命令会齐全吗?我试了编译内核,不能进行完,总是出错。唉,本人linux水平太差,只是在努力学习linux中。。。。

哈哈~~(轻松一下)

作者: easeover   发布时间: 2007-10-08

哈哈,这个问题很普遍啊。问题不在ext2/3上。
有两点要注意:
1,如果你的硬盘是SATA,那么在编译内核时要把相应选项选上。类似如下:
<*> SCSI disk support
..............
Serial ATA (SATA) support
< > AHCI SATA support
< > ServerWorks Frodo / Apple K2 SATA support
< > Intel PIIX/ICH SATA support
< > Promise SATA TX2/TX4 support
< > Pacific Digital SATA QStor support
...........................
< > BusLogic SCSI support
2,File systems,这个也要选好,比如你的lfs分区是xfs,那内核里要把xfs支持选上。楼主遇到的问题就在文件系统上,请看:
<*> Compressed ROM file system support (cramfs) 这里也要选上,否则会出现:
VFS:Cannot open root device "hdxy" or unknow-block(0,0)
Please append a correct "root=" boot option
kernel panic-not syncing: VFS:Unable to mount root fs on unknow-block(0,0)
感谢“青铜镜”和飞豹
关于编译内核可以参考“青铜镜”的这篇文章:http://childman.bokee.com/5031051.html
享受你的LFS吧!

作者: 不开花   发布时间: 2007-10-10

重复了。。。

作者: 不开花   发布时间: 2007-10-10

引用:
作者: tfkdmwmqtr
重编译内核。
可以找个现成的 config 文件删减修改。
块设备、IDE 或 SATA 和 SCSI 这些地方要注意; ext2 和 ext3 都得选上,如果有用其它的文件系统应该一并选上。网络文件系统中有个含有 root 的选项不要选,而且实际上发行版的内核也没有选此项。另外,如果不做 initrd ,以上你认为需要在启动时首先加载的应该编译到内核而不是编译到模块。
“网络文件系统中有个含有 root 的选项不要选,而且实际上发行版的内核也没有选此项。”我也遇到这个问题,启动提示错误:
ROOT-NFS:NO NFS Server available,gving up
VFS: Unable to mount rootfs via NFS ,trying floppy......
后来把NFS选项整个去除才好

作者: 不开花   发布时间: 2007-10-10

谢谢不开发的回复!我试试看!

作者: xuanwf   发布时间: 2008-01-01

不经历风雨,哪能见到彩虹!

作者: mike.choo   发布时间: 2008-01-03