[ipxe-devel] Using iPXE, e820 RAM map badly changed, kernel panic over seeing only 50MB

james harvey jamespharvey20 at gmail.com
Tue Aug 9 03:28:10 BST 2016


On Mon, Aug 8, 2016 at 1:44 AM, Christian Nilsson <nikize at gmail.com> wrote:
> Hi james,
>
> I will only try to explain a few things that I know about.
>
> Indeed this is probably not related, the >64kB is normal with iPXE and
> to reach <=64kB (or in some cases even <=56kB) a lot of default
> features needs to be disabled, the virtualbox config is constrained to
> the 56kB limit. (but might not reach it in ipxes current form)
>
> To get EFI PXE enabled you need to enable the "network stack" in most
> bioses. Do note tho that at this time ipxe EFI does not support iSCSI
> (which might or might not be relevant to your usecase)
>
> The "not make the pcbios platform functional" refers to iPXE at the
> time not being possible to compile or used in legacy x86_64 mode,
> which was needed to support PXE BAR ROMs located above 4GB. This has
> since changed (take a look on the commits right after the above one)
>
> make bin-x86_64-pcbios/15b3673c.rom
>
> should get you a normal legacy rom, but that only runs on 64bit machines

Awesome.  I'd prefer to stick with bios mode, skipping EFI.

I switched from using "make bin/15b3673c.rom" to "make
bin-x86_64-pcbios/15b3673c.rom"  That changed the size of the .rom
from 77,824 bytes to 88,064 bytes, but sadly doesn't fix the BIOS E820
call error.

I used "DEBUG=hidemem,memmap", and did my usual pressing Ctrl+B to
enter iPXE.  I then saw:

    iPXE (PCI 06:00.0) starting execution...Fetching system memory map
    FBMS base memory size 625 kB [0,9c400)
    INT 15,88 extended memory size 65535 kB [100000, 40ffc00)
    INT 15,e801 not available during POST
    INT 15,e820 not available during POST
    INT 15,e820 failed; constructing map
    ...

ARGH!  I get what's going on.  It might be nice to add a warning (even
without debugging on) if someone tries to boot through coming in using
Ctrl+B during POST.

My MSI X99S SLI Plus BIOS acts weird with the Mellanox InfiniBand card
with iPXE on it.  In the Hard Drive Priorities menu, it shows iPXE and
lets me select it, but then immediately makes another selection
beneath it of one of my SATA drives.  If I disable the SATA drive, it
disables iPXE too.  If I leave them both there, in the boot order
options it only lets me select the SATA drive, doesn't even show me
iPXE.  Entering the boot menu doesn't even show iPXE as an option.

This is with the BIOS LAN Option ROM on, and even turning the UEFI
Network Stack option on, it still doesn't let me uniquely use it
without picking a SATA.

If my BIOS isn't picking up seeing the Mellanox card, are my only
options to go with a different motherboard or to start booting through
the onboard NIC?


More information about the ipxe-devel mailing list