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