Are you using OVMF? Which versions of qemu and OVMF are you using?
I'm using Apple's Virtualization.framework, not QEMU.
It doesn't use UEFI when it directly loads bzImage. ( dmesg: https://bugzilla.kernel.org/attachment.cgi?id=304323 )
Despite that, it still expects LINUX_EFISTUB_MINOR_VERSION (include/linux/pe.h) referred from arch/x86/boot/header.S to be 0x0. I confirmed that the kernel can boot by just setting LINUX_EFISTUB_MINOR_VERSION to 0x0.
Would it be possible to revert the LINUX_EFISTUB_MINOR_VERSION value (not the actual code) to 0x0? Or will it break something else?
Anyway, I'll try to make a request to Apple to remove the LINUX_EFISTUB_MINOR_VERSION check.
2023年5月28日(日) 3:04 Ard Biesheuvel ardb@kernel.org:
On Sat, 27 May 2023 at 20:00, Akihiro Suda suda.kyoto@gmail.com wrote:
[Resending as a plain text email]
Turned out that this is a mixture of an ACPICA issue and an EFISTUB issue.
Kernel v6.2 can boot by reverting the *both* of the following two commits:
- 5c62d5aab8752e5ee7bfbe75ed6060db1c787f98 "ACPICA: Events: Support
fixed PCIe wake event"
- e346bebbd36b1576a3335331fed61bb48c6d8823 "efi: libstub: Always
enable initrd command line loader and bump version"
Kernel v6.3 can boot by just reverting e346bebb, as 5c62d5a has been already reverted in 8e41e0a575664d26bb87e012c39435c4c3914ed9. The situation is the same for v6.4-rc3 too.
Note that in my test I let Virtualization.framework directly load bzImage without GRUB (akin to `qemu-system-x86_64 -kernel bzImage`). Apparently, reverting e346bebb is not necessary for loading bzImage via GRUB.
Are you using OVMF? Which versions of qemu and OVMF are you using?