ipxe icon indicating copy to clipboard operation
ipxe copied to clipboard

Trying to boot using ipxe results in do_bop_phys_alloc(0x2000000, 0x200000) Out of memory

Open cneira opened this issue 1 year ago • 0 comments

I was trying to boot using ipxe using https://netboot.smartos.org/smartos.ipxe on oracle cloud but fails with the following error:

s/20221215T000744Z/platform/i86pc/kernel/amd64/unix... ok
os/20221215T000744Z/platform/i86pc/amd64/boot_archive... ok
os/20221215T000744Z/platform/i86pc/amd64/boot_archive.hash... ok
WARNING: Couldn't read ACPI SRAT table from BIOS. lgrp support will be limited to one group.

do_bop_phys_alloc(0x2000000, 0x200000) Out of memory

Press any key to reboot.

Discussing with kebe in irc and jlevon, it seems to be related to this issue: https://smartos.org/bugview/OS-8138 I modified the phys_addr to 0x20000000UL and that allowed smartos to boot. https://github.com/TritonDataCenter/ipxe/blob/7762936a1221dbfeece1e061a209547cd21b7cb5/src/interface/efi/efi_umalloc.c#L59

But now we are hitting the bug, where the pit sanity check is stuck and never returns, to bypass it only way currently is to boot to kmdb and modify pit_is_broken to 1.

> pit_is_broken/W 1
> :c 

But currently trying to boot into kmdb from ipxe is not possible, also could be related to this same bug.

How to reproduce

  • Using the free tier create an instance of VM.Standard.E2.1.Micro shape with Ubuntu 22.04 image.
  • copy ipxe from this repo to /boot/efi/
  • cd /boot/efi && mv EFI EFU && reboot
  • on the EFI SHELL type the following:
fs0:
ipxe
  • on the ipxe shell type:
dhcp
chain --autofree https://netboot.smartos.org/smartos.ipxe

cneira avatar Dec 23 '22 12:12 cneira