Re: Kernel V5.7-rc1 doesn't boot (EFI?)
From: Ard Biesheuvel
Date: Tue Apr 14 2020 - 06:52:49 EST
On Tue, 14 Apr 2020 at 12:40, JÃrg Otte <jrg.otte@xxxxxxxxx> wrote:
>
> Booting my notebook with kernel V57-rc1 I get following
> display:
>
> exit_boot() failed!
> efi_main() failed!
> StartImage failed: Buffer Too Small
>
> Booting Kernel V5.6 works well.
>
> From dmesg (kernel V5.6):
> efi: EFI v2.31 by Phoenix Technologies Ltd.
> efi: ACPI=0xdcffe000 ACPI 2.0=0xdcffe014 SMBIOS=0xdce80000 RNG=0xdc3cd198
> efi: seeding entropy pool
> efi: [Firmware Bug]: Invalid EFI memory map entries:
> efi: mem47: [Reserved | | | | | | | | | | | |
> | ] range=[0x0000000000000000-0x0000000000000000] (invalid)
> efi: mem48: [Reserved | | | | | | | | | | | |
> | ] range=[0x0000000000000000-0x0000000000000000] (invalid)
> efi: mem49: [Reserved | | | | | | | | | | | |
> | ] range=[0x0000000000000000-0x0000000000000000] (invalid)
> efi: mem50: [Reserved | | | | | | | | | | | |
> | ] range=[0x0000000000000000-0x0000000000000000] (invalid)
> efi: mem51: [Reserved | | | | | | | | | | | |
> | ] range=[0x0000000000000000-0x0000000000000000] (invalid)
> efi: Removing 5 invalid memory map entries.
>
Thanks for the report.
Can you try booting with efi=no_disable_early_pci_dma passed via the
kernel command line? [*]
If that does not help, can you try to reproduce with this branch?
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/log/?h=efi/urgent
If it still does not work, please share your exact kernel config, and
the version of your distro, GRUB, shim, systemd-boot, etc
[*] GRUB on x86 turns out not to zero initialize BSS when it invokes
the EFI stub as a PE/COFF executable, resulting in the 'disable early
PCI DMA' feature to get enabled spuriously, which breaks the boot on
buggy firmware. systemd-boot is even worse, as it ignores the PE/COFF
metadata entirely in some cases, and just assumes it can invoke the
PE/COFF entrypoint after copying the kernel image into memory.