I have a similar setup. Grub cannot handle a RAID filesystem; error #16 means grub can find the partition but “the filesystem type cannot be recognized by GRUB.” With grub, you need to treat the array you mount on /boot as individual partitions. (You can of course use an array in the root phrase on the kernel line; grub isn’t using that, it’s just passing it to the kernel as is.) So make sure your /boot/grub/device.map uses sda for (hd0). This is my device.map:
My set-up sounds sufficiently similar to yours that I’d expect it to work for me if it works for you.
Is there any chance that it’s failing because I’m booted from the disk onto which I’m trying to install? I’m not at the box presently, but I will be tonight, and I can test that theory - unfortunately, I have no remote console on the thing (it’s a desktop) so it’ll be a few hours before I get the chance to try it from external media. And at that, I’m grasping at straws
I remember at some point in the past the notion that my initrd had to have MD drivers built into it, and I notice that you’re using an older initrd and kernel than I am. Is there any chance that my initrd doesn’t have the MD stuff built-in? I’m using what I got from the net install CD for 11.1.
Thanks in advance for any additional light you can shed. If worse comes to worse I’ll break the raid for the boot partition and just duplicate it by hand whenever it changes, but that seems like a silly thing to have to do.
I’m afraid I don’t have a good answer. Some things I would try:
Boot from a grub floppy. The grub shell standalone uses a different method of finding the disks than when run from the OS. You can create a floppy without device.map and menu.lst, the shell will then use the bios map. Doubtful this will help, but I have found it a useful tool.
The initrd would need to have the underlying disk controller and filesystem drivers of course, but AFAIK not for RAID 1 - that’s built into the kernel mainline now. But I would rebuild the initrd anyway.
Use mdadm to check the md0 superblock, e2fsck on the md0 filesystem.
That’s all I can think of, short of breaking the array. That would at least tell you whether it is the RAID that is getting in the way somehow. If you can’t use the vanilla boot partitions either, then the problem is elsewhere. Might be interesting to create a copy of /boot on another partition, and use it for the grub root command.