On 29/10/14 15:01, Floris Bos wrote:
Have you tried performing a bisection (http://ipxe.org/howto/bisect)
to identify the commit causing the problem?

Problems seem to start after this commit:

[tcp] Do not send RST for unrecognised connections

That commit doesn't touch the iBFT in any way, suggesting that the underlying problem is a build artefact rather than a code change.

With undionly.kkpxe compiled today from git sources:

Another possibility is that a small increase in code or data size has
pushed the iBFT below the 512kB boundary.  Try with undionly.kpxe
instead (which should reclaim more base memory); this may work.

Does not work with .kpxe either.

And perhaps we should test for location of iBFT in iPXE, and print out a
big fat warning -if not fatal error- when it is under 512 KB?

A problem is that the SAN-booted OS is likely to clear the screen almost immediately, meaning that the warning message would not be seen in practice.

You can get some diagnostic information from the information printed by pxeprefix.S when undionly.[k]kpxe starts up. In particular, the "XXXkB free base memory after PXE unload" will show you how much memory was free before iPXE claimed its base memory segments.

A typical iPXE build will use around 14kB of base memory; you can find the exact amount by looking in the linker map file (bin/undionly.[k]kpxe.tmp.map) for the symbols _text16_memsz and _data16_memsz.

On my test VM, I get "625kB free base memory after PXE unload", meaning that iPXE will end up loaded at (625-14)=611kB, which is safely above the 512kB threshold.

BTW, I noticed the Linux code -in addition to scanning memory- also
seems to look in the RSDT ACPI table for a reference to the iBFT table.
Is there any way for us to add a reference to our iBFT there?

I'm not aware of any mechanism which allows us to modify the RSDT on a BIOS system. (UEFI does provide an InstallAcpiTable() method which we will use for SAN booting under UEFI, but this doesn't help us here.)

Michael
_______________________________________________
ipxe-devel mailing list
[email protected]
https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel

Reply via email to