Thanks for the comments and help.
I have edited /boot/grub/grub.cfg to match my devices by UUID as
proposed, getting UUIDs from blkid /dev/md{0,1} (previously I run
blkid -g):
menuentry "Debian GNU/Linux, with Linux 2.6.32-3-686-bigmem" --class
debian --class gnu-linux --class gnu --class os {
insmod raid
insmod mdraid
(insmod lvm present in some tests)
insmod ext2
set root='(md0)'
search --no-floppy --fs-uuid --set <here blkid /dev/md0>
echo Loading Linux 2.6.32-3-686-bigmem ...
linux /vmlinuz-2.6.32-3-686-bigmem root=UUID=<here blkid /dev/md1> ro rootdelay=15
echo Loading initial ramdisk ...
initrd /initrd.img-2.6.32-3-686-bigmem
}
It doesn't boot. Note a added `rootdelay=15' and removed `quiet' to be
able to see what happens.
Still LVM tries to initialize before mdadm (is that correct, anyway?),
and ends up waiting for the root filesystem until I'm dropped to busybox.
While at the initramfs prompt, simply by issuing `vgchange -ay' and
exiting (Ctrl-D) I can boot the box. Luckily, I had a PS2 keyboard
around, because the USB one wouldn't work.
The output of `vgchange -ay' might be informative. Here is one
example, but one line is output for each LV:
udevd-work[number]:kernel provided name 'dm-2' and
NAME='mapper/root_vg-var_lv' disagree, please use SYMLINK+= or change
the kernel to provide the proper name.
This looks like #581715 or #581593.
In both reports, however, it is said it's a harmless warning.
I can confirm that, at least, while testing the
linux /vmlinuz-2.6.32-3-686-bigmem root=/dev/mapper/root_vg-root_lv
variant, I can boot the system from initramfs after
`vgchange -ay' + <Ctrl-D>
regardless the warnings.
After booting, running `upgrade-grub or upgrade-grub2' won't help.
This looks like a problem elsewhere (udev, initramfs-tools, ...), but
not grub.
--
Huella de clave primaria: 0FDA C36F F110 54F4 D42B D0EB 617D 396C 448B 31EB
Attachment:
pgp3agALrViJ_.pgp
Description: PGP signature