红联Linux门户
Linux帮助

比较了几个解决gentoo安装问题留下的疑问

发布时间:2007-11-01 15:07:16来源:红联作者:litaosmile
我的电脑情况:我的硬盘是SATA类型的。有C,D,E三个盘,都是FAT32格式,FC7的三个分区:/boot:sda7,/:sda8,swap:sda9.我又在FC7下fdisked三个分区准备装Gentoo,分别是:/boot:sda10,swap:sda11,/:sda12.
在网上下载了install-x86-minimal-2007.0-r1.iso,portage-2007.0.tar.bz2,stage3-x86-2007.0.tar.bz2。把install-x86-minimal-2007.0-r1.iso用Daemon解除来了都放C盘根目录下。image.squashfs,gentoo.igz也都放C盘根目录下。把刚刚下载的三个文件也放C盘根目录下。
开始安装:我从原先的系统选择菜单(就是GRUB)进去GRUB命令行,我根据网上的帖子做了4次不同命令
grub> kernel (hd0, 0)/isolinux/gentoo root=/dev/ram0 init=/linuxrc acpi=ht looptype=squashfs loop=/image.squashfs udev nodevfs cdroot=/dev/hda1 vga=791 dokeymap splash=silent,theme:livecd-2007.0 回车
  initrd (hd0, 0)/isolinux/gentoo.igz 回车
  boot 回车

grub> kernel (hd0, 0)/isolinux/gentoo root=/dev/ram0 init=/linuxrc acpi=ht looptype=squashfs loop=/image.squashfs udev nodevfs cdroot=/dev/sda1 vga=791 dokeymap splash=silent,theme:livecd-2007.0 回车
  initrd (hd0, 0)/isolinux/gentoo.igz 回车
  boot 回车 (这个是把cdroot=/dev/hda1改成sda1,因为我的是SATA硬盘)


grub> kernel (hd0, 0)/isolinux/gentoo root=/dev/ram0 init=/linuxrc acpi=ht looptype=squashfs loop=/image.squashfs doscsi udev nodevfs cdroot=/dev/sda1 vga=791 dokeymap splash=silent,theme:livecd-2007.0 回车
  initrd (hd0, 0)/isolinux/gentoo.igz 回车
  boot 回车(这个是在udev前加入doscsi 对SATA 的支持)

grub> kernel (hd0, 0)/isolinux/gentoo root=/dev/ram0 init=/linuxrc acpi=ht looptype=squashfs loop=/image.squashfs doscsi udev nodevfs cdroot=/dev/hda1 vga=791 dokeymap splash=silent,theme:livecd-2007.0 回车
  initrd (hd0, 0)/isolinux/gentoo.igz 回车
  boot 回车 (这个是cdroot=/dev/hda1结合doscsi)

都出现的错误是这样的:
The root block device is unspecified or not detected!
Please specify a device to boot,or "shell" for a shell....
boot()::
说说我看到的网上主流的解决方法的文章:http://www.linuxsir.org/bbs/showthread.php?t=237476如下:

没想到自己的SATA硬盘安装Gentoo这么艰辛,按照handbook上的指南按部就班地安装,结果死活装不上,

出错提示如下:

代码:
>> Activating udev
>> Determining root device...
!! Block device /dev/sda3 is not a valid root device...
!! The root block device is unspecified or not detected.
Please specify a device to boot,or "shell" for a shell...
boot() ::
刚开始在sir的Gentoo版面寻找答案,大多数说是所需的文件系统要以非模块的形式编译进内核,然后把SATA相关驱动也编译进内核。我是个懒人,先用genkernel --menuconfig udv all编译内核,结果不行,

出现同样的错误提示,于是直接把LiveCD的内核和initrd拿来用,还是不行,这才感觉问题应该不在内核上。反复看提示,总觉得是Grub不认SATA硬盘。后来经证实的确如此。其实只要在grub.conf内,把kernel 那一句里加入
代码:
doscsi这个命令行就可以了。提供一个我的样例:


代码:
default 0
timeout 5
splashimage=(hd0,5)/boot/grub/splash.xpm.gz
title=Gentoo Linux 2.6.12-r6
root (hd0,4)
kernel /kernel-genkernel-x86-2.6.12-gentoo-r6 root=/dev/ram0 real_root=/dev/sda3

ramdisk_size=8192 doscsi udev
initrd /initramfs-genkernel-x86-2.6.12-gentoo-r6
比较下和我的出错好象不是很相同,他的好象是已经越过我的这一步了又出现的问题,我的是找不到root device ,而他的可以找到只是不支持SATA的硬盘。可否这样理解?
另外他提供的解决方案我不懂。他的grub.conf文件从哪里来的?应该是他已经装上了,系统已经生成了这个文档。不是从GRUB FOR DOS那里来的。所以我不知道在哪里修改这个grub.conf文档,我的FC7文档里没有GENTOO的记录。
还看到一种解决方法是: 在 "shell" for a shell...
boot() ::直接输入:root=/dev/sda12(sda12为/分区,既以后准备/MNT/GENTOO的分区),还是不行。
我想我写的应该比较详细了,请各位高手帮助下,小弟第一次装GENTOO。
文章评论

共有 0 条评论