forked from pool/grub2
40 lines
2.3 KiB
Diff
40 lines
2.3 KiB
Diff
|
From: Andrey Borzenkov <arvidjaar@gmail.com>
|
||
|
Subject: add "(on /dev/XXX)" to top level os-prober Linux menu entries
|
||
|
References: bnc#796919
|
||
|
|
||
|
1. It disambiguates multiple instances of the same OS if present.
|
||
|
|
||
|
2. It allows menu entry to be skipped by another os-prober. Otherwise
|
||
|
it may result in endless recursion.
|
||
|
Index: grub-2.00/util/grub.d/30_os-prober.in
|
||
|
===================================================================
|
||
|
--- grub-2.00.orig/util/grub.d/30_os-prober.in
|
||
|
+++ grub-2.00/util/grub.d/30_os-prober.in
|
||
|
@@ -202,7 +202,7 @@ EOF
|
||
|
|
||
|
if [ "x$is_first_entry" = xtrue ]; then
|
||
|
cat << EOF
|
||
|
-menuentry '$(echo "$OS" | grub_quote)' --class gnu-linux --class gnu --class os \$menuentry_id_option 'osprober-gnulinux-simple-$boot_device_id' {
|
||
|
+menuentry '$(echo "$OS $onstr" | grub_quote)' --class gnu-linux --class gnu --class os \$menuentry_id_option 'osprober-gnulinux-simple-$boot_device_id' {
|
||
|
EOF
|
||
|
save_default_entry | sed -e "s/^/\t/"
|
||
|
printf '%s\n' "${prepare_boot_cache}"
|
||
|
@@ -217,7 +217,7 @@ EOF
|
||
|
cat << EOF
|
||
|
}
|
||
|
EOF
|
||
|
- echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'osprober-gnulinux-advanced-$boot_device_id' {"
|
||
|
+ echo "submenu '$(gettext_printf "Advanced options for %s" "${OS} $onstr" | grub_quote)' \$menuentry_id_option 'osprober-gnulinux-advanced-$boot_device_id' {"
|
||
|
is_first_entry=false
|
||
|
fi
|
||
|
title="${LLABEL} $onstr"
|
||
|
@@ -238,7 +238,7 @@ EOF
|
||
|
}
|
||
|
EOF
|
||
|
if [ x"$title" = x"$GRUB_ACTUAL_DEFAULT" ] || [ x"Previous Linux versions>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then
|
||
|
- replacement_title="$(echo "Advanced options for ${OS}" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
|
||
|
+ replacement_title="$(echo "Advanced options for ${OS} $onstr" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
|
||
|
quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)"
|
||
|
title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;"
|
||
|
grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")"
|