Re: [PATCH 1/2] x86/boot/compressed/64: Remove .bss/.pgtable from bzImage

From: Arvind Sankar
Date: Sun Apr 05 2020 - 19:25:05 EST


On Sun, Apr 05, 2020 at 10:42:46PM +0700, Sergey Shatunov wrote:
> This patch causes some strange things happens with my laptop.
>
> Cold boot crashed in some early initilization logic with message 'Failed to execute /esp/.../linux.efi: Buffer Too Small'.
> After couple reboots into firmware setup (bios) or hot reboot from other working kernel (without that commit) helps it to boot.
> During bisecting couple times I saw different message: 'exit_efi() failed; efi_main() failed', but above tricks helps it too.
> So bisect points to that commit and I tried to compile kernel with that commit reverted and it works flawlessly.
>
> Some notes about my setup:
> Kernel tree I used: Torvalds git (which recently pulls that commit).
> Kernel itself with initrd and cmdline packed into systemd-boot stub (probably here can be issues too, not sure).
> Secure boot enabled with custom keyring.
>
> I can provide more info or change my setup (for example get rid of systemd-boot stub) if needed for sure.

I'm not familiar with systemd-boot: when you say systemd-boot stub, is
that something different from the kernel's EFI_STUB option? Or is it
just a kernel with EFI_STUB enabled and with builtin initramfs + builtin
cmdline? If it is different, can you point me to the tool that creates
it?

The first error message you mention should be from systemd-boot after
the kernel exits with an EFI_BUFFER_TOO_SMALL error status. The second
one -- is that 'exit_boot() failed' rather than 'exit_efi() failed'? I
can't find the latter string in the tree.

Can you also specify a commit tag that is broken + works with this patch
reverted, just to make sure we're looking at the same code?

Thanks

Cc linux-efi.