Package: grub Version: 0.97-5 The patch implemented for http://bugs.debian.org/302359 will replace any second "/" in a device name with a "!" for 2.6 kernels. Recently this was discovered to break LVM based installations as /dev/mapper/<LV-name> would be replaced with /dev/mapper!<LV-name> and an exception was added for that.
After looking at the code in update-grub, I've come to the conclusion that the original patch is broken in that it will act on _any_ device name instead of only the devices using the weird ! naming. Rather than adding exceptions when we find things broken by the replacement, the code should make sure that the replacement only happens in cases where it is known to be needed. Thus I propose to replace the current code: convert_kernel26 () { # skip /dev/mapper/ from conversion if ! echo "$1" | grep -q "^/dev/mapper/"; then echo "$1" | sed 's%^\(/dev/[^/]*\)/\(.*\)%\1!\2%' else echo "$1" fi } by something like: convert_kernel26 () { case "$1" in /dev/rd/*|/dev/ida/*) echo "$1" | sed 's%^\(/dev/[^/]*\)/\(.*\)%\1!\2%' ;; *) echo "$1" ;; esac }
pgpRhwRIT8gml.pgp
Description: PGP signature