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

