[ipxe-devel] [Realtek]: Possible bug - cannot load ipxe when intel-sata controller is set to RAID

Michael Brown mbrown at fensystems.co.uk
Tue Apr 16 12:46:04 UTC 2013

On 16/04/13 08:12, Joshua C. wrote:
> > Glad the patch works for you.  Unfortunately it can't be applied as
> > a general solution.  If PMM allocation fails (which is not
> > uncommon), then iPXE has no way to shrink itself, so we have to be
> > pessimistic in reporting our runtime size.
> Is there a way to test at runtime if PMM works? If so maybe this can
> help?

Yes.  Unfortunately, the decision on what runtime size to advertise in 
the ROM's PCI header has to be taken at _build_ time; it's a static 
field, and by the time we get to execute our first instruction, the BIOS 
has already read the value in the field.

> I've been wondering of the manufactorer can do something about this
> 128kb-orom-limit?

Unfortunately not; it's an architectural limit intrinsic to the way 
BIOSes work.

If iPXE were allowed to load first, then you may find it works even 
without a patch.  If PMM works, then iPXE will reduce its runtime image 
below the pessimistic estimate advertised via the ROM's PCI header, and 
there should then be enough space left in the 128kB for the Intel ROM to 

Since you are adding the ROM into the BIOS flash, you may be able to 
alter the order in which ROMs are loaded by adjusting the order within 
the flash image.

> I'll explain to them what caused the problem as
> well as why they cannot reproduce it at their side. On the other
> hand I have an efi-bios which should be capable of overcomming the
> limitations of the old pc-bios.

EFI is completely unaffected by this limit, if you're using a native EFI 
iPXE ROM.  (Most EFI systems also include a BIOS emulation layer, 
allowing you to use a standard BIOS iPXE ROM; if you're using this then 
you're still subject to the same 128kB limit.)

To build a native EFI iPXE ROM, you would do:

   make bin-x86_64-efi/10ec8168.efirom

> Any ideas if and how the
> manufacturer can help (if they're willing to do so, of course)?

Try adjusting the order of ROMs within the flash.  If this doesn't help, 
ask if there's any way you can alter the order in which ROMs are loaded.


More information about the ipxe-devel mailing list