On 11/25/2010 11:26 AM, John Sheu wrote: > What's the preferred way to differentiate BIOS fakeraid from regular > software mdraid? > > I ask this as I'm booting with GRUB2 off a system that has one of > those Intel fakeraid chipsets. As of a few months ago, the mdadm > package has supported these fakeraid setups, so the RAID array comes > up as a /dev/md### device. This is unfortunate, as GRUB2 assumes that > any device of the type /dev/md### must be a pure software RAID device, > and in util/grub-setup.c:939, tries to install itself to the RAID > members individually: > Right now GRUB2 is unable to distinguish between 2 cases. However you can inform it that you have scamraid by adding following line to device.map: (hd0) /dev/md0 > if (0 && dest_dev[0] == 'm' && dest_dev[1] == 'd' > && ((dest_dev[2] >= '0' && dest_dev[2] <= '9') || dest_dev[2] == '/')) > { > char **devicelist; > int i; > > devicelist = grub_util_raid_getmembers (dest_dev); > > for (i = 0; devicelist[i]; i++) > { > setup (arguments.dir ? : DEFAULT_DIRECTORY, > arguments.boot_file ? : DEFAULT_BOOT_FILE, > arguments.core_file ? : DEFAULT_CORE_FILE, > root_dev, grub_util_get_grub_dev (devicelist[i]), 1, > arguments.force, arguments.fs_probe); > } > } > > For a fakeraid setup, however, the BIOS presents the entire device as > "regular" int13 device, so GRUB2 really should be installing it to the > entire /dev/md### device, not the individual members. > > So what's the preferred way to differentiate BIOS fakeraid? Is there > some ioctl that would make this easier than having to parse /proc/mdstat? > > Thanks, > -John Sheu > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel > -- Regards Vladimir 'φ-coder/phcoder' Serbinenko