[ipxe-devel] "No iBFT detected" on Intel NUC

Michael Brown mcb30 at ipxe.org
Mon Sep 29 14:02:30 UTC 2014

On 29/09/14 14:38, Floris Bos wrote:
>> Using undionly.kpxe (instead of .kkpxe) would not help, since even
>> without the PXE base code the memory from 503kB upwards is still
>> occupied.
> Not sure if I understand that.
> If the UNDI part ends at 571 Kb, wouldn't it be possible to place the
> iBFT at say 572 Kb?

Base memory is allocated from 640kB downwards in 1kB chunks.  If the 
UNDI stack is occupying 503kB-571kB then there must already be something 
else above that.

> Note that the Linux iscsi_ibft module scans the entire memory region 512
> Kb - 1024 Kb sequentially looking for a struct that starts with the
> "iBFT" magic.
> The iBFT doesn't have to start at 512 Kb exactly, you are supposed to be
> able to place it at any 16-byte aligned memory location between 512 Kb
> and 1024 Kb.
> https://github.com/torvalds/linux/blob/9a3c4145af32125c5ee39c0272662b47307a8323/drivers/firmware/iscsi_ibft_find.c

You could submit a patch to change iscsi_ibft_find.c to scan the whole 
of base memory.  There's no particular reason for 512kB as a lower 
limit; it's in the iBFT specification document but there's no reason 
behind it.


More information about the ipxe-devel mailing list