Re: at boot-time echoed kernel is older that started kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/18/13 21:39, Reindl Harald wrote:
[…]

> i would be thankful if even "grub2-mkconfig" would not create
> this "advanced" submenu at all
> 


Actually there is a patch proposal at 'grub-devel' by Prarit Bhargava,
for such a case - disable submenu[1][2].
>From this I made ​​two for testing directly without compiling the entire
grub's trunk repository[3][4].
Those who would do such test should make a backup of the corresponding
files:

patch --backup /usr/sbin/grub2-mkconfig <
grub2-mkconfig-disable-submenu.patch
patch --backup /etc/grub.d/10_linux < 10_linux-disable-submenu.patch
chmod -x /etc/grub.d/10_linux.orig

/etc/default/grub:
# submenu disabled
GRUB_DISABLE_SUBMENU=true
# submenu enabled
#GRUB_DISABLE_SUBMENU=false
--

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.orig
/usr/sbin/grub2-mkconfig --output=/boot/grub2/grub.cfg


Cheers,
poma


[1] http://lists.gnu.org/archive/html/grub-devel/2013-01/msg00126.html
[2] grub2-disable-submenu.patch
[3] 10_linux-disable-submenu.patch
[4] grub2-mkconfig-disable-submenu.patch



--- /usr/sbin/grub2-mkconfig.bkp	2013-02-19 19:31:16.810839275 +0100
+++ /usr/sbin/grub2-mkconfig	2013-02-19 18:31:31.465890499 +0100
@@ -216,7 +216,8 @@
   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"

=== modified file 'util/grub-mkconfig.in'
--- util/grub-mkconfig.in	2012-12-28 07:21:17 +0000
+++ util/grub-mkconfig.in	2013-01-29 19:14:01 +0000
@@ -215,7 +215,8 @@
   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"

=== modified file 'util/grub.d/10_hurd.in'
--- util/grub.d/10_hurd.in	2012-09-18 11:04:06 +0000
+++ util/grub.d/10_hurd.in	2013-01-29 19:14:01 +0000
@@ -156,14 +156,15 @@
 for kernel in ${kernels}
 do
 
-  if [ "x$is_first_entry" = xtrue ]; then
+  if [ "x${GRUB_DISABLE_SUBMENU}" = x ]; then 
+    if [ "x$is_first_entry" = xtrue ]; then
       hurd_entry "$kernel" simple
       submenu_indentation="$grub_tab"
     
       # TRANSLATORS: %s is replaced with an OS name
       echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnuhurd-advanced-$(grub_get_device_id "${GRUB_DEVICE_BOOT}")' {"
+    fi
   fi
-
   hurd_entry "$kernel" advanced
   hurd_entry "$kernel" recovery
   is_first_entry=false
@@ -171,8 +172,10 @@
 
 # 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"

=== modified file 'util/grub.d/10_kfreebsd.in'
--- util/grub.d/10_kfreebsd.in	2013-01-03 22:19:19 +0000
+++ util/grub.d/10_kfreebsd.in	2013-01-29 19:14:01 +0000
@@ -211,15 +211,17 @@
     module_dir_rel=$(make_system_path_relative_to_its_root $module_dir)
   fi
 
-  if [ "x$is_first_entry" = xtrue ]; then
-      kfreebsd_entry "${OS}" "${version}" simple
-      submenu_indentation="$grub_tab"
-    
-      if [ -z "$boot_device_id" ]; then
+  if [ "x${GRUB_DISABLE_SUBMENU}" = x ]; then 
+    if [ "x$is_first_entry" = xtrue ]; then
+        kfreebsd_entry "${OS}" "${version}" simple
+        submenu_indentation="$grub_tab"
+
+        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 'kfreebsd-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 'kfreebsd-advanced-$boot_device_id' {"
+    fi
   fi
 
   kfreebsd_entry "${OS}" "${version}" advanced
@@ -233,8 +235,10 @@
 
 # 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"

=== modified file 'util/grub.d/10_linux.in'
--- util/grub.d/10_linux.in	2012-09-18 11:04:06 +0000
+++ util/grub.d/10_linux.in	2013-01-29 19:14:01 +0000
@@ -226,18 +226,20 @@
     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="$grub_tab"
+      submenu_indentation="$grub_tab"
     
-    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
+fi
 
   linux_entry "${OS}" "${version}" advanced \
               "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
@@ -252,8 +254,9 @@
 
 # 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"

=== modified file 'util/grub.d/10_netbsd.in'
--- util/grub.d/10_netbsd.in	2012-10-28 10:55:22 +0000
+++ util/grub.d/10_netbsd.in	2013-01-29 19:14:01 +0000
@@ -157,15 +157,17 @@
 
   gettext_printf "Found NetBSD kernel: %s\n" "$k" >&2
 
-  if [ "x$is_first_entry" = xtrue ]; then
-      netbsd_entry "knetbsd"   "$k" simple "${GRUB_CMDLINE_NETBSD_DEFAULT}"
-    submenu_indentation="$grub_tab"
+  if [ "x${GRUB_DISABLE_SUBMENU}" = x ]; then 
+    if [ "x$is_first_entry" = xtrue ]; then
+        netbsd_entry "knetbsd"   "$k" simple "${GRUB_CMDLINE_NETBSD_DEFAULT}"
+      submenu_indentation="$grub_tab"
     
-    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 'netbsd-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 'netbsd-advanced-$boot_device_id' {"
   fi
 
   netbsd_entry "knetbsd"   "$k" advanced "${GRUB_CMDLINE_NETBSD_DEFAULT}"
@@ -179,8 +181,10 @@
 
 # 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"


--- /etc/grub.d/10_linux.bkp	2013-02-19 19:33:20.674283559 +0100
+++ /etc/grub.d/10_linux	2013-02-19 19:25:03.473633983 +0100
@@ -240,9 +240,10 @@
     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}" = xfalse ]; then 
+    if [ "x$is_first_entry" = xtrue ]; then
+      linux_entry "${OS}" "${version}" simple \
+      "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
 
     submenu_indentation="\t"
     
@@ -251,6 +252,7 @@
     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
   fi
 
   linux_entry "${OS}" "${version}" advanced \
@@ -266,8 +268,9 @@
 
 # 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}" = xfalse ]; then 
+  if [ x"$is_first_entry" != xtrue ]; then
+    echo '}'
+  fi
 fi
-
 echo "$title_correction_code"

-- 
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org
[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux