27a326dafb
As of grub2 >= 2.02-95 on redhat family distros, calling grub2-install on an EFI partition will fail with: "this utility cannot be used for EFI platforms because it does not support UEFI Secure Boot." This version of grub is now in centos8-stream and non-eus repos of RHEL-8. It is not currently possible to build whole-disk UEFI images on these distros, and when this package is promoted this will also affect centos8 and RHEL-8 eus. The grub maintainers made this change because the grub2-install generated /boot/efi/EFI/BOOT/BOOTX64.EFI will never be capable of booting with Secure Boot. This change defines a $EFI_BOOT_DIR for every distro element. When directory /boot/efi/$EFI_BOOT_DIR exists a grub.cfg file in will be generated there. This change also installs the shim package on redhat family distros, which installs a copy of the shim bootloader to /boot/efi/EFI/BOOT/BOOTX64.EFI. Using centos as an example, this allows UEFI to boot the shim /boot/efi/EFI/BOOT/BOOTX64.EFI which then chains to /boot/efi/EFI/centos/grubx64.efi. If /boot/efi/$EFI_BOOT_DIR doesn't exist (such as for Ubuntu, /boot/efi/EFI/ubuntu) the current behaviour of running grub-install to generate /boot/efi/EFI/BOOT/BOOTX64.EFI will continue. For distros such as Ubutnu where packaging does not populate /boot/efi/EFI/ubuntu with .efi files, secure boot can be added in the future by copying .efi files to /boot/efi/EFI/ubuntu and copying the shim file to /boot/efi/EFI/BOOT/BOOTX64.EFI. Change-Id: I90925218ff2aa4c4daffcf86e686b6d98d6b0f21
38 lines
1.2 KiB
Plaintext
38 lines
1.2 KiB
Plaintext
{
|
|
"family": {
|
|
"gentoo": {
|
|
"dkms_package": "",
|
|
"extlinux": "syslinux",
|
|
"grub-pc": "grub",
|
|
"grub-efi": "grub",
|
|
"grub-efi-amd64": "grub",
|
|
"grub-efi-arm64": "grub",
|
|
"grub-efi-aarch64": "grub"
|
|
},
|
|
"suse": {
|
|
"dkms_package": "",
|
|
"extlinux": "syslinux",
|
|
"grub-pc": "grub2",
|
|
"grub-efi": "grub2"
|
|
},
|
|
"redhat": {
|
|
"extlinux": "syslinux-extlinux",
|
|
"grub-pc": "grub2-tools grub2",
|
|
"grub-efi-amd64": "grub2-tools grub2 grub2-pc grub2-efi-x64 grub2-efi-x64-modules efibootmgr shim-x64",
|
|
"grub-efi-arm64": "grub2-tools grub2-efi-aa64 grub2-efi-aa64-modules efibootmgr shim-aa64",
|
|
"grub-efi-aarch64": "grub2-tools grub2-efi-aa64 grub2-efi-aa64-modules efibootmgr shim-aa64",
|
|
"grub-efi": "grub2-tools grub2-efi efibootmgr",
|
|
"grub-efi-x86_64": "grub2-tools grub2 grub2-efi-x64 grub2-efi-x64-modules efibootmgr shim-x64",
|
|
"grub-ppc64": "grub2-tools grub2"
|
|
}
|
|
},
|
|
"default": {
|
|
"dkms_package": "dkms",
|
|
"extlinux": "extlinux",
|
|
"grub-pc": "grub-pc",
|
|
"grub-efi-amd64": "grub-efi grub-pc-bin efibootmgr",
|
|
"grub-efi-arm64": "grub-efi-arm64 grub-efi-arm64-bin efibootmgr",
|
|
"grub-ppc64": "grub-ieee1275"
|
|
}
|
|
}
|