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
pgprQaPbR1v3r.pgp
Description: PGP signature