grub-install fails during d-i installation when /boot/grub is located on md raid device
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
grub2 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
mdadm (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
I have experienced a failure to install Ubuntu natty, using the d-i (alternate, not ubiquity) installer.
The actual failure occurs when the installer executes grub-install. Debugging a bit shows that the actual failing command is "grub-probe -t fs /boot/grub". Debugging a bit more shows that /boot/grub is in my situation, located on /dev/md0, and the failure involves grub-probe attempting to execute /dev/md/0 (note: md/0, not md0) which does not exist during the installer run.
A further point of interest found by looking into the grub code is that grub only ends up looking for md/0 rather than md0 if the array is using a version 1 md superblock - i.e. my problem is worked around by using a version 0.90 md superblock.
But, there seems to be some other wrinkle involved that I have not yet diagnosed, as the above problems were experienced on real hardware, using a partman-auto-raid recipe, whilst attempting a kvm test install without the preseed resulted in the md/0 symlink being created. More info to come...
Other notes - the following bugs may be related to some degree:
bug 713874
bug 789226
bug 701351
affects: | grub → grub2 (Ubuntu) |
Also seeing this issue as well but only when i try and preseed the disk partitions, if i manually enter in the partitions things work OK
d-i partman-auto/disk string /dev/sda /dev/sdb /dev/sdc /dev/sdd auto/expert_ recipe string multiraid :: 989999 9899999 989999 raid $primary{ } $bootable{ } method{ raid } . 1 1 1 raid method{ biosgrub } . 10000 10000 10000 raid method{ raid } . auto-raid/ recipe string 1 2 0 ext4 / /dev/sda1#/dev/sdb1 . 1 2 0 swap - /dev/sda5#/dev/sdb5 . 1 2 0 ext4 /app1 /dev/sdc1#/dev/sdd1 . basicfilesystem s/mountoptions multiselect noatime partitioning/ confirm_ write_new_ label boolean true choose_ partition select finish md/confirm_ nooverwrite true
d-i partman-
d-i partman-
d-i partman-
d-i mdadm/boot_degraded boolean true
d-i partman-md/confirm boolean true
d-i partman-
d-i partman/
d-i partman/confirm boolean true
d-i partman-
Following Bug #743136 looks simular so could be a regression some where.
Work around is to drop into the shell and run the following
chroot /target
ln -s /dev/md0 /dev/md/0
ln -s /dev/md1 /dev/md/1
ln -s /dev/md2 /dev/md/2
grub-install /dev/sda
grub-install /dev/sdb