From: Michael Prokop Date: Fri, 17 Jul 2020 20:03:41 +0000 (+0200) Subject: GRUB: don't display BIOS only addons when running in EFI mode X-Git-Tag: v0.37.0~4 X-Git-Url: http://git.grml.org/?p=grml-live.git;a=commitdiff_plain;h=67df7006433d0dcdb0262ea86b6c030ddfd46ae2 GRUB: don't display BIOS only addons when running in EFI mode There's no point in displaying the BIOS only addons when running in EFI mode. This work was funded by Grml-Forensic. Closes: https://github.com/grml/grml/issues/113 --- diff --git a/templates/boot/grub/addons.cfg b/templates/boot/grub/addons.cfg index 130ab05..3b515d8 100644 --- a/templates/boot/grub/addons.cfg +++ b/templates/boot/grub/addons.cfg @@ -1,65 +1,82 @@ submenu "Addons ->" --class=submenu { -menuentry "Memory test (memtest86+)" { - insmod linux16 - linux16 /boot/addons/memtest -} + +if [ "${grub_platform}" != "efi" ] ; then + menuentry "Memory test (memtest86+)" { + insmod linux16 + linux16 /boot/addons/memtest + } +fi menuentry "iPXE - boot via network/PXE" { - insmod linux16 - linux16 /boot/addons/ipxe.lkrn + if [ "${grub_platform}" == "efi" ] ; then + chainloader /boot/addons/ipxe.efi + else + insmod linux16 + linux16 /boot/addons/ipxe.lkrn + fi } menuentry "Netboot.xyz" { - insmod linux16 - linux16 /boot/addons/netboot.xyz.lkrn -} - -menuentry "GRUB - all in one image" { - insmod linux16 - linux16 /boot/addons/memdisk - initrd16 /boot/addons/allinone.img + if [ "${grub_platform}" == "efi" ] ; then + chainloader /boot/addons/netboot.xyz.efi + else + insmod linux16 + linux16 /boot/addons/netboot.xyz.lkrn + fi } -menuentry "FreeDOS" { - insmod linux16 - linux16 /boot/addons/memdisk - loopback balder /boot/addons/balder10.imz - initrd16 (balder)+2880 -} - -if [ ${iso_path} ] ; then - # assume loopback.cfg boot - menuentry "MirOS bsd4grml (via loopback)" { - multiboot /boot/addons/bsd4grml/ldbsd.com - module /boot/addons/bsd4grml/bsd.rd bsd - module /boot/addons/bsd4grml/loopback.0 boot.cfg - module /boot/addons/bsd4grml/loopback.1 boot.1 - module /boot/addons/bsd4grml/loopback.2 boot.2 - module /boot/addons/bsd4grml/loopback.3 boot.3 - module /boot/addons/bsd4grml/loopback.4 boot.4 - module /boot/addons/bsd4grml/loopback.5 boot.5 - module /boot/addons/bsd4grml/loopback.6 boot.6 +if [ "${grub_platform}" != "efi" ] ; then + menuentry "Netboot.xyz" { + insmod linux16 + linux16 /boot/addons/netboot.xyz.lkrn } -else - # assume grub.cfg boot - menuentry "MirOS bsd4grml (regular method)" { - multiboot /boot/addons/bsd4grml/ldbsd.com + + menuentry "GRUB - all in one image" { + insmod linux16 + linux16 /boot/addons/memdisk + initrd16 /boot/addons/allinone.img } - menuentry "MirOS bsd4grml (fallback method)" { - multiboot /boot/addons/bsd4grml/ldbsd.com - module /boot/addons/bsd4grml/bsd.rd bsd.rd - module /boot/addons/bsd4grml/boot.1 boot.1 - module /boot/addons/bsd4grml/boot.2 boot.2 - module /boot/addons/bsd4grml/boot.3 boot.3 - module /boot/addons/bsd4grml/boot.4 boot.4 - module /boot/addons/bsd4grml/boot.5 boot.5 - module /boot/addons/bsd4grml/boot.6 boot.6 - module /boot/addons/bsd4grml/boot.cfg boot.cfg - module /boot/grub/grub.img grub.img + menuentry "FreeDOS" { + insmod linux16 + linux16 /boot/addons/memdisk + loopback balder /boot/addons/balder10.imz + initrd16 (balder)+2880 } -fi + if [ ${iso_path} ] ; then + # assume loopback.cfg boot + menuentry "MirOS bsd4grml (via loopback)" { + multiboot /boot/addons/bsd4grml/ldbsd.com + module /boot/addons/bsd4grml/bsd.rd bsd + module /boot/addons/bsd4grml/loopback.0 boot.cfg + module /boot/addons/bsd4grml/loopback.1 boot.1 + module /boot/addons/bsd4grml/loopback.2 boot.2 + module /boot/addons/bsd4grml/loopback.3 boot.3 + module /boot/addons/bsd4grml/loopback.4 boot.4 + module /boot/addons/bsd4grml/loopback.5 boot.5 + module /boot/addons/bsd4grml/loopback.6 boot.6 + } + else + # assume grub.cfg boot + menuentry "MirOS bsd4grml (regular method)" { + multiboot /boot/addons/bsd4grml/ldbsd.com + } + + menuentry "MirOS bsd4grml (fallback method)" { + multiboot /boot/addons/bsd4grml/ldbsd.com + module /boot/addons/bsd4grml/bsd.rd bsd.rd + module /boot/addons/bsd4grml/boot.1 boot.1 + module /boot/addons/bsd4grml/boot.2 boot.2 + module /boot/addons/bsd4grml/boot.3 boot.3 + module /boot/addons/bsd4grml/boot.4 boot.4 + module /boot/addons/bsd4grml/boot.5 boot.5 + module /boot/addons/bsd4grml/boot.6 boot.6 + module /boot/addons/bsd4grml/boot.cfg boot.cfg + module /boot/grub/grub.img grub.img + } + fi # iso_path +fi # efi mode } menuentry "Boot OS of first partition on first disk" {