Bug#558042: Fixed /etc/grub.d/10_linux script
Ben Stewart
debbugs at tucuxi.org
Fri Nov 27 09:12:47 UTC 2009
Hi all,
I came across this bug on my sid system, and have updated the script
/etc/grub.d/10_linux to resolve this bug in a somewhat hackish way.
The attached code is a diff against the version as shipped with
1.97+20091125-1.
----- /etc/grub.d/10_linux.patch -----
--- 10_linux.dpkg-new 2009-11-26 05:41:40.000000000 +1100
+++ 10_linux 2009-11-27 20:05:29.000000000 +1100
@@ -65,11 +65,11 @@
fi
printf '%s\n' "${prepare_boot_cache}"
cat << EOF
- linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion}
ro ${args}
+ linux ${fixed_imagename}/${basename}
root=${linux_root_device_thisversion} ro ${args}
EOF
if test -n "${initrd}" ; then
cat << EOF
- initrd ${rel_dirname}/${initrd}
+ initrd ${fixed_initrd}
EOF
fi
cat << EOF
@@ -88,6 +88,7 @@
basename=`basename $linux`
dirname=`dirname $linux`
rel_dirname=`make_system_path_relative_to_its_root $dirname`
+ fixed_imagename=$(grub-mkrelpath "$linux")
version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
alt_version=`echo $version | sed -e "s,\.old$,,g"`
linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
@@ -108,6 +109,8 @@
linux_root_device_thisversion=${GRUB_DEVICE}
fi
+ fixed_initrd=$(grub-mkrelpath "${dirname}/${initrd}")
+
linux_entry "${OS}" "${version}" false \
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
if [ "x${GRUB_DISABLE_LINUX_RECOVERY}" != "xtrue" ]; then
--------------------------------------
I have not tested this against a system with /boot on the same partition
as the root, but it does work for the aforementioned system with /boot
on a separate partition.
More information about the Pkg-grub-devel
mailing list