LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: octps

耗了一星期编译LFS, 始终kernel panic这个老问题,望大家相助

[复制链接]
发表于 2008-12-8 11:12:37 | 显示全部楼层
楼上的我要跟你说一下情况
我编译lfs时是在ubuntu下
u盘被识别sdb1(10MB用来作启动的),sdb5(lfs系统)
所以安装grub时使用这个命令
grub>root (hd1,4)
grub> setup (hd1)/*(为什么呢,因为我要安装到那,而你在这里用hd0,就表示你把grub安装在hd0,你的menu.lst就不应该写成hd0了,相反应该写成hd1,如果你写成hd0,就必须把grub装在你移动硬盘上(运行grub>setup (hd1))。要理智的做事,你有qq没?我加你)*/
grub>quit
而$LFS/boot/menu.lst(也就是u盘的lfs系统的menu.lst)
写成hd0,而不是hd1,因为你是从u盘启动,要弄清楚两个不同的环境,以及两个不同的grub

如果你根本不想把grub弄在移动盘上,你就只编辑你现在的ubuntu系统里面的menu.lst,没必要执行官方步骤里的grub安装操作。。
你要作的,就是把lfs启动项加在ubuntu的/boot/grub/menu.lst下,并修改kernal及root为
root (hd1,1)
kernel /boot/lfskernel-2.6.27.4 root=/dev/sdb2), 使之指向你的移动硬盘上
本地盘为(hd0),移动盘为(hd1)


如果你想安装在移动盘上
按照你的情况我写下命令吧
在你宿主系统上(ubuntu)
执行:
grub>root (hd1,1)
grub>setup (hd1)
grub>quit

你说你现在看不到ubuntu了,那应该是你安装grub时出的问题,你可以启动livecd,把你的ubuntu分区挂上去,修改你的ubuntu启动的相关menu.lst
附上我的ubutnumenu.lst  可以作修复参考


/////////////////////////////////////////////////////////
title                Ubuntu 8.04.1, kernel 2.6.24-19-generic
root                (hd0,8)
kernel                /boot/vmlinuz-2.6.24-19-generic root=UUID=50ca1dcf-ccdc-49ca-8892-674f84e5c6f0 ro quiet splash locale=zh_CN
initrd                /boot/initrd.img-2.6.24-19-generic
quiet

title                Ubuntu 8.04.1, kernel 2.6.24-19-generic (recovery mode)
root                (hd0,8)
kernel                /boot/vmlinuz-2.6.24-19-generic root=UUID=50ca1dcf-ccdc-49ca-8892-674f84e5c6f0 ro single
initrd                /boot/initrd.img-2.6.24-19-generic

title                Ubuntu 8.04.1, memtest86+
root                (hd0,8)
kernel                /boot/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title                Other operating systems:
root


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title                Microsoft Windows XP Professional
root                (hd0,0)
savedefault
makeactive
chainloader        +1
//////////////////////////////////////////////////////////



最后再跟你说一次,内核不能找到root fs  是因为磁盘慢(硬盘比移动盘快多了)
你在kernal那行必须加上这个“rw rootdelay=10“ (引号里面的)
回复 支持 反对

使用道具 举报

发表于 2008-12-8 13:07:17 | 显示全部楼层
Post by hhts1987;1920857
楼上的我要跟你说一下情况
我编译lfs时是在ubuntu下
u盘被识别sdb1(10MB用来作启动的),sdb5(lfs系统)
所以安装grub时使用这个命令
...

最后再跟你说一次,内核不能找到root fs  是因为磁盘慢(硬盘比移动盘快多了)
你在kernal那行必须加上这个“rw rootdelay=10“ (引号里面的)

没错,是这个道理
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-8 18:57:26 | 显示全部楼层
Post by hhts1987;1920857
楼上的我要跟你说一下情况
我编译lfs时是在ubuntu下
u盘被识别sdb1(10MB用来作启动的),sdb5(lfs系统)
所以安装grub时使用这个命令
grub>root (hd1,4)
grub> setup (hd1)/*(为什么呢,因为我要安装到那,而你在这里用hd0,就表示你把grub安装在hd0,你的menu.lst就不应该写成hd0了,相反应该写成hd1,如果你写成hd0,就必须把grub装在你移动硬盘上(运行grub>setup (hd1))。要理智的做事,你有qq没?我加你)*/
grub>quit
而$LFS/boot/menu.lst(也就是u盘的lfs系统的menu.lst)
写成hd0,而不是hd1,因为你是从u盘启动,要弄清楚两个不同的环境,以及两个不同的grub
... ...
savedefault
makeactive
chainloader        +1
//////////////////////////////////////////////////////////



最后再跟你说一次,内核不能找到root fs  是因为磁盘慢(硬盘比移动盘快多了)
你在kernal那行必须加上这个“rw rootdelay=10“ (引号里面的)

谢谢hhts1987的热心回答,我基本上尝试了你所说的方法,因为主要问题原因其实还是我没有把SATA驱动编译进去,所以一直解决不了这个问题。再次感谢hhts1987!

昨天夜里快3点的时候,总于解决了kernel panic , VFS unable to mount 的问题。
rw rootdelay=10 的参数我加过,可能存在这个问题,但是我的情况不是磁盘慢的问题。
之前因为编译过2此2.6.27.4内核,时间长的要命,所以不想再编译内核。
但是昨天实在是没办法,只好重新编译内核,把内核配置中跟SCSI ,SATA有关的都编译进内核,由于我不知道具体缺什么东西,然后按照LFS book的步骤进行设置,kernel panic , VFS unable to mount 总于没有了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表