boot loader not installed
Tom H
tomh0665 at gmail.com
Thu Oct 29 21:58:39 UTC 2009
>> SATA RAID is set up by the BIOS so you do not need to insmod anything.
> This is not true. While it is true that SATA RAID is setup within
> the BIOS, you still need drivers to tell the OS how to access the
> physical sectors across the individual drives. After installing
> Ubuntu on my SATA RAID, booting failed because the kernel says
> that it cannot locate the root file system. The error basically
> says the partition table indicates the root fs drive takes more
> sectors than are physically present on the disk. It is a 3 disk
> RAID5 with 3x 150GB WD Raptors. If I shift-pgup through the kernel
> output, it is seeing the 3 drives as sda, sdb, and sdd but not as
> 1 drive. During the live cd install, it saw the SATA RAID as a
> single 300GB drive and could read and mount the NTFS file system,
> that I let it overwrite to install Ubuntu on.
> The install recognized the raid5 as /dev/mapper/nvidia_fhgbbaae1.
> Using the tips you gave, I figured out how to mount this file
> system and chroot. I used this procedure as listed in the install
> guide:
> mount -t auto /dev/mapper/nvidia_fhgbbaae1 /media/raid -o
> acl,user_xattr
> mount --bind /dev /media/raid/dev
> chroot /media/raid
> One obvious problem is that the folder /dev/mapper/ does not exist
> on this file system and there is no device nvidia_fhgbbaae. This
> device should contain /dev/mapper/nvidia_fhgbbaae1 mounted as /
> /dev/mapper/nvidia_fhgbbaae5 mounted as swap
> /dev/mapper/nvidia_fhgbbaae6 mounted as /tmp
> /dev/mapper/nvidia_fhgbbaae7 mounted as /home
> None of these mappings exist on the root fs. Also, as you pointed
> out, the install for some reason decides not to install grub when
> it deals with a SATA RAID. This seems to be the case whenever it
> detects one even when it is not the install drive. I did a second
> install on a different drive as I pointed out. It is a single
> drive with space partitioned after my Vista partition. Ubuntu
> still did not install grub on this drive during that install
> either. The command you suggested:
> # dpkg -l grub-pc
> ...
> un grub-pc <none> (no description available)
> I did the install as you suggested. aptitude update aptitude
> install grub-pc grub-common this worked. The /boot/grub directory
> is now populated, before was empty. It has a grub.cfg I got from
> http://grub.enbug.org/LVMandRAID modified to look like this:
> set timeout=20
> set default=0
> menuentry "Linux on RAID" {
> insmod dmraid
> set root=(nvidia_fhgbbaae1)
> linux /vmlinuz root=/dev/mapper/nvidia_fhgbbaae1
> initrd /initrd.img
> }
> Then I ran:
> # grub-install /dev/mapper/nvidia_fhgbbaae1
> grub-probe: error: no mapping exists for `nvidia_fhgbbaae1'
> This config still does not boot. The kernel cannot find the root
> fs. during the live cd session I can see dmraid_45 when I do
> lsmod. As long as this module is loaded, the kernel can see the
> array and can mount the fs. I need the help of a grub expert to go
> further. What is missing?
The insmod commands in grub.cfg are loading grub 2 modules not kernel
modules, afaik. The grub 2 modules are listed in /boot/grub and there
is no dmraid.mod module there (so your "insmod dmraid" must not be
doing much). There are kernel modules for dmraid. In my config:
CONFIG_BLK_DEV_DM=y
CONFIG_DM_MIRROR=y
CONFIG_DM_RAID45=m
CONFIG_DM_ZERO=m
SATA RAID is called fake/software/bios/... raid because unlike real
hardware raid is not actually activated by the hardware,
pre-bootloader, independently of the os; afaik, because I have never
had the pleasure/headache of getting my hands on a dmraid box.
So the installer is seeing your dmraid disk because dmraid is
installed on the Live CD and activates the raid volumes.
grub-install calls grub-mkdevicemap and then grub-probe early on so
your "no mapping exists..." error must mean that grub-mkdevicemap is
not creating a "(hd0) /dev/mapper/..." entry and grub-probe cannot map
"/dev/mapper/..." to a grub device.
Are your "nvidia_" entries listed when you chroot to
"/dev/mapper/nvidia_" and run "ls -l /dev/mapper"? (They should since
you are running "mount -o bind /dev..." before chrooting.)
Are your "nvidia_" entries listed and ok when you chroot to
"/dev/mapper/nvidia_" and run "dmraid -r"?
Are your "nvidia_" entries listed when you chroot to
"/dev/mapper/nvidia_" and run "cat fstab"?
I have just looked at the procedure whose url I had emailed you and,
had I written it, I would have run "mount -o bind /dev
/media/raid/proc" and "mount -o bind /sys /media/raid/sys" as well as
"mount -o bind /dev /media/raid/dev" before chrooting.
Assuming that you are able to run "grub-install" successfully, I would replace
insmod dmraid
by
insmod raid
insmod mdraid
insmod lvm
insmod ext2
in grub.cfg before trying to boot from your dmraid set but I would
have the insmods both before and within the "menuentry" stanza in the
same way way the grub.cfg that is generated by grub-mkconfig has
"insmod ext2" at both these stages, even if it is probably overkill.
You could at a later stage reduce the insmod(s) to the one or those
that actually enable dmraid in grub.
More information about the ubuntu-users
mailing list