From a8e31915a25b96d3005233bd94859848e23fc7c2 Mon Sep 17 00:00:00 2001 From: david Date: Wed, 16 Aug 2017 14:13:13 +0200 Subject: [PATCH] add submenu for grub --- mxgrub/mxgrub | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mxgrub/mxgrub b/mxgrub/mxgrub index 5c80f866..34a51738 100755 --- a/mxgrub/mxgrub +++ b/mxgrub/mxgrub @@ -86,11 +86,13 @@ sub is_VX50 { return $data=~/VX50/; } +our $submenu="all-other-kernel"; + sub get_chosen { my $chosen; open my $p,'-|','grub-editenv','-','list' or die "$!\n"; while (<$p>) { - /^chosen=(.+)/ and return $1; + /^chosen=$submenu\>(.+)|^chosen=(.+)/ and return $1; } close $p or die "$!\n"; $? and exit 1; @@ -185,7 +187,11 @@ if [ -e /etc/local/USB.usb ]; then menuentry "mariuxUSB" --unrestricted { save_env chosen ; linux /boot/bzImage.x86_64 crashkernel=256M root=LABEL=rootusb ro ; initrd /boot/grub/initramfs.igz } else +menuentry "$MARIUX_DEFAULT" --unrestricted { save_env chosen ; linux /boot/bzImage.x86_64 crashkernel=256M root=LABEL=root ro console=ttyS1,115200n8 console=tty0 ; initrd /boot/grub/initramfs.igz } + +submenu "$submenu" --unrestricted { $kernellist +} if [ \$chosen ]; then set default=\$chosen unset chosen # must be clear to get a clean value from menuentry @@ -241,7 +247,7 @@ sub cmd_install { if ($label eq 'default') { sys('grub-editenv','-','set',"chosen=$MARIUX_DEFAULT"); } else { - sys('grub-editenv','-','set',"chosen=$label"); + sys('grub-editenv','-','set',"chosen=$submenu>$label"); } }