Since the 6.7 release there have been a few mentions of EFI boot 
failure on amd64. The most common resolution has been to use legacy 
boot. My T440P is running coreboot/TianoCore. The only way to legacy 
boot requires re-flashing the chips via SOIC8 bus pirate. 

Bisecting bootloader commits since 6.6 exposes the breaking commit for 
my laptop on: /src/sys/arch/amd64/stand/efiboot/exec_i386.c

=======================================================================
date: 2019/12/12 13:09:35; author: bluhm; state: Exp; lines: +33 -1; 
commitid: tGTjnCkwobU1X16m;

"On a HP EliteBook 830 G6 the Computrace executable is located in
the area where the boot loader copies the kernel. Its EfiLoaderCode
is write protected, so the boot loader hangs in memmove(). As we
may use this memory after calling EFI ExitBootServices(), change
the protection bit to writeable in the page table."
=======================================================================

GitHub: 
https://github.com/openbsd/src/commit/53d61855c6bc9c8ed81d22219d891ee26d918d21#diff-a927f4d9c71ab27dd3e00a136f5679d6

If I roll back prior to that commit, BOOTX64.EFI is fine.
Past that commit, it hangs ` entry point at 0x1001000 `.

Admittedly I'm not familiar with the guts of EFI and am unlikely to
develop a fix. Are there any other ways I can help troubleshoot? 
(Is it possible to run bootx64.efi in lldb?)


For those of you that have experienced this problem, please try compiling
/src/sys/arch/amd64/stand/efiboot/ prior to 2019/12/12. I can provide a 
compiled binary if you reach out directly. 

If this msg belongs in bugs, I can send it there as well. There are other 
recent mentions of this problem on -misc.


Thank you,
Matt Kunkel

Reply via email to