diff --git a/src/modules/bootloader/bootloader.conf b/src/modules/bootloader/bootloader.conf index 70f1ef22d..62c240feb 100644 --- a/src/modules/bootloader/bootloader.conf +++ b/src/modules/bootloader/bootloader.conf @@ -33,3 +33,11 @@ grubCfg: "/boot/grub/grub.cfg" # names since no sanitizing is done. # # efiBootloaderId: "dirname" + +# Optionally install a copy of the GRUB EFI bootloader as the EFI +# fallback loader (either bootia32.efi or bootx64.efi depending on +# the system). This may be needed on certain systems (Intel DH87MC +# seems to be the only one). If you set this to false, take care +# to add another module to optionally install the fallback on those +# boards that need it. +installEFIFallback: true diff --git a/src/modules/bootloader/main.py b/src/modules/bootloader/main.py index c9309b82a..6dc59b87e 100644 --- a/src/modules/bootloader/main.py +++ b/src/modules/bootloader/main.py @@ -269,13 +269,14 @@ def install_grub(efi_directory, fw_type): os.makedirs(install_efi_boot_directory) # Workaround for some UEFI firmwares - efi_file_source = os.path.join(install_efi_directory_firmware, - efi_bootloader_id, - efi_grub_file) - efi_file_target = os.path.join(install_efi_boot_directory, - efi_boot_file) + if libcalamares.job.configuration.get("installEFIFallback", True): + efi_file_source = os.path.join(install_efi_directory_firmware, + efi_bootloader_id, + efi_grub_file) + efi_file_target = os.path.join(install_efi_boot_directory, + efi_boot_file) - shutil.copy2(efi_file_source, efi_file_target) + shutil.copy2(efi_file_source, efi_file_target) else: print("Bootloader: grub (bios)") if libcalamares.globalstorage.value("bootLoader") is None: