On Sat, Jan 02, 2010 at 03:00:39PM +0100, Josip Rodin wrote: > On Sat, Jan 02, 2010 at 02:29:36PM +0100, Josip Rodin wrote: > > I've got two disks and a software RAID setup on the partition that holds > > the /boot directory. I have several Linux software RAID partitions, based > > on this scheme: > > > > sda2+sdb2 -> Linux amd64 / > > sda3+sdb3 -> Linux i386 / > > sda5+sdb5 -> Linux swap > > sda6+sdb6 -> Linux /home > > > > The first two become md0, differentiated by old GRUB menu entries - > > Linux parameters raid=noautodetect and md0=first,second ... settings. > > The second two become md1 and md2, respectively, and the fourth array > > is simply left unassembled on the non-applicable architecture. > > my autogenerated menu entry for the amd64 root partition seemed to have > the wrong UUID in the 'search' command. That sounds like a userland issue, > because: > > % sudo grub-probe -d /dev/sda1 -t fs_uuid > 1460509560508002 > % sudo grub-probe -d /dev/sda2 -t fs_uuid > 18515dea-973e-473b-bddf-74d1cb58e15a > % sudo grub-probe -d /dev/sda3 -t fs_uuid > 7e6cdce7-8136-41f0-8a66-997b89ea00fe > > And yet after running the update-grub command on the amd64 machine > I still get: > > % grep search /boot/grub/grub.cfg | sort -u > search --no-floppy --fs-uuid --set 1460509560508002 > search --no-floppy --fs-uuid --set > 7e6cdce7-8136-41f0-8a66-997b89ea00fe > > It's supposed to detect the amd64 partition (sda2) at least once :) > but it seems to be fixating on the i386 one (sda3).
This behaviour seems to be a problem with grub-probe and its usage by the default config scripts, because the simple most straightforward test fails for one of the RAID devices: % sudo tune2fs -l /dev/md0 | grep UUID Filesystem UUID: 18515dea-973e-473b-bddf-74d1cb58e15a % sudo grub-probe --device /dev/md0 --target=fs_uuid 7e6cdce7-8136-41f0-8a66-997b89ea00fe % sudo tune2fs -l /dev/md2 | grep UUID Filesystem UUID: 222e0fc1-800d-4be4-89fa-96a876aca441 % sudo grub-probe --device /dev/md2 --target=fs_uuid 222e0fc1-800d-4be4-89fa-96a876aca441 What it thinks to be /dev/md0 isn't actually what the rest of the system knows to be /dev/md0 (nor is it actually what grub sees as md0 on boot time, as it happens). The --device option is used by /usr/lib/grub/grub-mkconfig_lib's prepare_grub_to_access_device() function, invoked in turn by /etc/grub.d/10_linux's linux_entry() function. When I omit that parameter, I get: % sudo grub-probe /dev/md0 --target=fs_uuid grub-probe: error: cannot find a device for /dev/md0. I'm not really sure what to make of util/grub-probe.c's usage of util/getroot.c' grub_guess_root_device() at least under Linux... is it supposed to resolve canonical names out of input device names? -- 2. That which causes joy or happiness. -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org