Hi guys,
with the patch the kernel loads and doesn't stop at "entry point at
0x1001000". But the kernel stops with a "Stopped at
gfx_v9_0_wait_reg_mem+0x307: int $3"
So for my machine the patch is the right direction but not the solution
:( I've tried the boot with the current snapshot kernel.
Thanks and best regards,
Sven
On 7/6/20 6:32 AM, Kastus Shchuka wrote:
On Sat, Jul 04, 2020 at 11:09:54AM +0000, Michael Baehr wrote:
Kastus Shchuka <open...@tprfct.net> wrote:
“I installed 2020-07-03 snapshot on ASRock J4105M system and I am not able to
boot it.
Boot stops at the line
entry point at 0x1001000
If I try bsd.rd kernel, it boots just fine. After this failure with snapshot I
installed 6.7-release, and it boots without any issues.”
I've experienced something similar, including the sensitivity to kernel size.
As best I can observe, the EFI bootloader is being handed a different block of
RAM than where the kernel is actually loaded (which is at a fixed address
defined in boot.c). Which block of memory gets returned, and whether boot
fails, seems to be dependent on the particular UEFI ROM/chipset. In my case,
debugging over serial, I observe a page fault while the kernel is still being
loaded into RAM.
“Are there any other solutions than compiling a custom smaller kernel?”
Patching efiboot.c as follows and recompiling bootia32/bootx64 resolved it for
me:
--- a/sys/arch/amd64/stand/efiboot/efiboot.c
+++ b/sys/arch/amd64/stand/efiboot/efiboot.c
@@ -303,9 +303,9 @@ efi_memprobe(void)
bios_memmap_t *bm;
EFI_STATUS status;
EFI_PHYSICAL_ADDRESS
- addr = 0x10000000ULL; /* Below 256MB */
+ addr = 0x1000000;
- status = EFI_CALL(BS->AllocatePages, AllocateMaxAddress, EfiLoaderData,
+ status = EFI_CALL(BS->AllocatePages, AllocateAddress, EfiLoaderData,
EFI_SIZE_TO_PAGES(KERN_LOADSPACE_SIZE), &addr);
if (status != EFI_SUCCESS)
panic("BS->AllocatePages()");
Let me know if that helps. I can't guarantee that this is actually what is
causing your issue but it worked for me.
I tried this patch and was able to boot kernel from snapshot 2007-07-03 with
recompiled BOOTX64.EFI.
It fixes the problem with EFI memory mapping on ASRock J4105M motherboard.
I wonder what would it take for the patch to be accepted in -current?
Thanks,
Kastus