Load GRUB MBR to boot /dev/md0

Hi

I’m having an issue with GRUB.
After a hardware failure I’m trying to reestablish my OpenSUSE 10.3 by copying the contents of my old root partition onto a new partition and then setup GRUB to boot on this partition instead.
I have four disks available. On two of the disks I have made a 1GB swap partition on each. Then I have made a 10GB MD RAID1 partition on /dev/md0 spanning the two same disks. Finally all the rest of the space is configured as MD RAID1 and added to one LVM volume group for data.
I have done this setup through OpenSUSE 10.3 live cd but I’m having an issue loading the MBR with GRUB. Can anybody give me some hints on how to setup GRUB to boot on this setup?

Cheers,
Jacob

From the CLI run the grub program (I won’t show the grub> prompt). I assume /dev/sda1 and /dev/sdb1 are the components of the root RAID, if not adjust the second number in (hd0,0). Note that it’s (hd0) no matter whether you are dealing with sda or sdb.

device (hd0) /dev/sda
root (hd0,0)
setup (hd0)
device (hd0) /dev/sdb
root (hd0,0)
setup (hd0)

This will write GRUB on each of the disks so that either one can boot. You should see some messages about finding the various GRUB stages at the setup steps. It is also assumed that your initrd has been set up to load the raid modules and assemble the array.

I have to do this using a live cd by mounting the root drive, and then running GRUB. Is there anything particular, I need to take into account, while doing it this way (eg. chroot)? Or can I just tell GRUB to load the settings from /mnt/boot/grub instead of /boot/grub?

Cheers
Jacob

It doesn’t matter, this procedure isn’t sensitive to paths. Only the version of GRUB used should be the same one that comes with the OS distro.

I just tried what you wrote me, and it seems to boot something. But for some reason it seems that it can’t load /dev/md0. I have used the exact same initrd and everything as before, where I also booted on an MD device, but now it doesn’t seem to load the raid device correctly.