+ -
当前位置:首页 → 问答吧 → [已经解决]如何用宿主的grub引导lfs系统

[已经解决]如何用宿主的grub引导lfs系统

时间:2009-11-22

来源:互联网

原来装了xp和ubuntu,用ubuntu的grub引导,有单独的/boot分区.后来在/dev/sda14上装了lfs,在ubuntu的/boot/grub/menu.lst文件中加入


title LFS 6.5
root (hd0,13)
kernel /boot/lfskernel-2.6.30.2 root=/dev/sda14

显示error15,请问怎么解决

解决过程:
1 运行lspci命令,查到了sata控制器的型号
00:08.0 IDE interface: nVidia Corporation MCP61 SATA Controller (rev a2)
2 编译内核的那个menuconfig里
Device Drivers --->[*] Serial ATA (prod) and Parallel ATA (experimental) drivers[*] NVIDIA SATA support
其实我本来知道我是nVidia的主板,只是没找到这个选项罢了,因为上面那个Serial ATA (prod) and Parallel ATA (experimental) drivers已经被我选了,我以为它的子选项也被选了呢.
宿主 ubuntu 8.10, lfs6.5,内核2.6.30

作者: kabike   发布时间: 2009-11-22

内核映像放在哪里?

改成以下:

title LFS 6.5
root (hd0,13)
kernel (hd0,13)/lfskernel-2.6.30.2 root=/dev/sda14

行不?

作者: d00m3d   发布时间: 2009-11-22

恩,不错,改了以后换了个错误.说
VFS cannot open root device
please appene a correct "root="
unable to mount root fs on unknown-block

作者: kabike   发布时间: 2009-11-22

这说明两个情况:

1. 你的内核现在存放的位置已正确,可以由原系统的 GRUB 来引导

2. 你编译出来的内核由於配置不当,在引导时无法挂载根分区

你应该把必要的文件系统的支持直接编入内核,不能编译成模块

作者: d00m3d   发布时间: 2009-11-22

第一次我自己配置kernel,第二次我把宿主的.config文件拷了过来,还是不好使.看来要好好研究一阵了

作者: kabike   发布时间: 2009-11-23

话说原来一直都是unknown-block(0,0),我多次实验以后成了unknown-block(2,0),不知道是好事还是坏事。这个2据说代表软驱,真是匪夷所思。我硬盘明明是sata的

作者: kabike   发布时间: 2009-11-23

把磁盘驱动也编译进内核里去,而不是编译成模块

作者: digwtx   发布时间: 2009-11-23

引用:
作者: kabike
第一次我自己配置kernel,第二次我把宿主的.config文件拷了过来,还是不好使.看来要好好研究一阵了
直接用宿主的配置需要自己生成initrd.img,详细自己搜索

话说这个话题说了N次......

作者: nonplus   发布时间: 2009-11-23

引用:
作者: nonplus
直接用宿主的配置需要自己生成initrd.img,详细自己搜索

话说这个话题说了N次......
话说这个话题说了N次,小弟却是现在才知。

作者: kabike   发布时间: 2009-11-23

这类问题真的问答都 N 多次了,这是最近的:

http://www.linuxsir.org/bbs/thread358992.html

作者: d00m3d   发布时间: 2009-11-23

引用:
作者: nonplus
直接用宿主的配置需要自己生成initrd.img,详细自己搜索

话说这个话题说了N次......

LFS应该不需要 initrd.img
我就是和楼主一样的情况,只用了kernel能正常启动


root (hd0,0)
kernel /lfskerne-2.6.31.5 root=/dev/sda7

关键是后面的root要选对来,磁盘驱动要编译进内核

作者: yanglh   发布时间: 2009-11-24

引用:
作者: yanglh
LFS应该不需要 initrd.img
我就是和楼主一样的情况,只用了kernel能正常启动


root (hd0,0)
kernel /lfskerne-2.6.31.5 root=/dev/sda7

关键是后面的root要选对来,磁盘驱动要编译进内核
不需要initrd.img至少需要 磁盘驱动+ROOT磁盘格式 编译进Kernel才行
可以自己把磁盘格式编译成模块看看还能不能启动

做这个试验前确保自己有一个可以正常进入系统的kernel,挂了不关我事

作者: nonplus   发布时间: 2009-11-24

正确认识配置及编译内核才是正道

作者: d00m3d   发布时间: 2009-11-25

多谢几位大哥相助

作者: kabike   发布时间: 2009-11-25

热门下载

更多