[grub2] Allow the user to disable use of submenus.

Peter Jones pjones at fedoraproject.org
Thu Feb 14 19:04:09 UTC 2013


commit 6519b73918b98c4cab9bafb032494de3a895b610
Author: Peter Jones <pjones at redhat.com>
Date:   Thu Feb 14 14:01:16 2013 -0500

    Allow the user to disable use of submenus.

 grub-2.00-add-GRUB-DISABLE-SUBMENU-option.patch |   80 +++++++++++++++++++++++
 1 files changed, 80 insertions(+), 0 deletions(-)
---
diff --git a/grub-2.00-add-GRUB-DISABLE-SUBMENU-option.patch b/grub-2.00-add-GRUB-DISABLE-SUBMENU-option.patch
new file mode 100644
index 0000000..1fd1630
--- /dev/null
+++ b/grub-2.00-add-GRUB-DISABLE-SUBMENU-option.patch
@@ -0,0 +1,80 @@
+From 81e46875469ae8b2a803e6457784801a0a7a7963 Mon Sep 17 00:00:00 2001
+From: Prarit Bhargava <prarit at redhat.com>
+Date: Thu, 7 Feb 2013 11:53:41 -0500
+Subject: [PATCH] add GRUB_DISABLE_SUBMENU option
+
+This patch adds the ability to disable the grub2 submenus from
+/etc/default/grub
+
+To disable the submenus
+
+echo 'GRUB_DISABLE_SUBMENU="true"' >> /etc/default/grub
+
+
+---
+ util/grub-mkconfig.in   |  3 ++-
+ util/grub.d/10_linux.in | 24 ++++++++++++++----------
+ 2 files changed, 16 insertions(+), 11 deletions(-)
+
+diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
+index 516be86..354eb43 100644
+--- a/util/grub-mkconfig.in
++++ b/util/grub-mkconfig.in
+@@ -216,7 +216,8 @@ export GRUB_DEFAULT \
+   GRUB_INIT_TUNE \
+   GRUB_SAVEDEFAULT \
+   GRUB_ENABLE_CRYPTODISK \
+-  GRUB_BADRAM
++  GRUB_BADRAM \
++  GRUB_DISABLE_SUBMENU
+ 
+ if test "x${grub_cfg}" != "x"; then
+   rm -f "${grub_cfg}.new"
+diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
+index e2b8ab3..9427a39 100644
+--- a/util/grub.d/10_linux.in
++++ b/util/grub.d/10_linux.in
+@@ -240,17 +240,19 @@ while [ "x$list" != "x" ] ; do
+     linux_root_device_thisversion=${GRUB_DEVICE}
+   fi
+ 
+-  if [ "x$is_first_entry" = xtrue ]; then
+-    linux_entry "${OS}" "${version}" simple \
+-    "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
++  if [ "x${GRUB_DISABLE_SUBMENU}" = x ]; then
++    if [ "x$is_first_entry" = xtrue ]; then
++      linux_entry "${OS}" "${version}" simple \
++      "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
+ 
+-    submenu_indentation="\t"
++      submenu_indentation="\t"
+     
+-    if [ -z "$boot_device_id" ]; then
+-	boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
++      if [ -z "$boot_device_id" ]; then
++	  boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
++      fi
++      # TRANSLATORS: %s is replaced with an OS name
++      echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
+     fi
+-    # TRANSLATORS: %s is replaced with an OS name
+-    echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
+   fi
+ 
+   linux_entry "${OS}" "${version}" advanced \
+@@ -266,8 +268,10 @@ done
+ 
+ # If at least one kernel was found, then we need to
+ # add a closing '}' for the submenu command.
+-if [ x"$is_first_entry" != xtrue ]; then
+-  echo '}'
++if [ "x${GRUB_DISABLE_SUBMENU}" = x ]; then
++  if [ x"$is_first_entry" != xtrue ]; then
++    echo '}'
++  fi
+ fi
+ 
+ echo "$title_correction_code"
+-- 
+1.8.1
+


More information about the scm-commits mailing list