FS#68714 - Linux kernel config may prevent EFISTUB from being booted directly
Attached to Project:
Arch Linux
Opened by Daniel (weirddan455) - Monday, 23 November 2020, 08:09 GMT
Last edited by Doug Newgard (Scimmia) - Monday, 23 November 2020, 15:31 GMT
Opened by Daniel (weirddan455) - Monday, 23 November 2020, 08:09 GMT
Last edited by Doug Newgard (Scimmia) - Monday, 23 November 2020, 15:31 GMT
|
Details
Description:
Arch's default kernel has CONFIG_EFI_MIXED=y set which according to kernel documentation: "Enabling this feature allows a 64-bit kernel to be booted on a 32-bit firmware, provided that your CPU supports 64-bit mode. Note that it is not possible to boot a mixed-mode enabled kernel via the EFI boot stub - a bootloader that supports the EFI handover protocol must be used." I haven't been able to test this myself as I'm using refind (can probably do a quick test in the next day or so though.) I figure we probably don't want to change this setting as it could break older Macs that have 32 bit EFI firmware. I created this bug report to get confirmation on this issue and, once confirmed, maybe mention in the wiki that the Arch kernel doesn't support direct EFISTUB boot: https://wiki.archlinux.org/index.php/EFISTUB Additional info: * package version(s): 5.9.9.arch1-1 * config and/or log files etc.: https://git.archlinux.org/svntogit/packages.git/tree/linux/trunk/config#n465 * link to upstream bug report, if any: N/A Steps to reproduce: 1. Attempt to boot from the Arch kernel without using a bootloader (documented in https://wiki.archlinux.org/index.php/EFISTUB) 2. Report back if it works for you |
This task depends upon
> Note that it is not possible to boot a mixed-mode enabled
> kernel via the EFI boot stub - a bootloader that supports
> the EFI handover protocol must be used."
This note refers to booting a x86_64 kernel via EFI boot stub on IA32 UEFI, nothing more.
And even that should be possible now, the only thing missing is boot loader/manager support. See the expansion template in https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Booting_64-bit_kernel_on_32-bit_UEFI .