<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2013/4/15 Michael Brown <span dir="ltr"><<a href="mailto:mbrown@fensystems.co.uk" target="_blank">mbrown@fensystems.co.uk</a>></span><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class=""><div class="h5">On 15/04/13 15:37, Joshua C. wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Let me put more light into the situation: this is a msi p67a-gd65<br>
motherboard with am 8MB winbond bios-chip. The bios file has about 2MB<br>
"free" space so I can put some more files on the bios-chip itself. The<br>
motherboard uses a cheap realtek trl8111e chip which is soldgered on the<br>
motherboard and taps one of the pci-e lanes on the chipset. PCI-E 3.0 is<br>
not supported by the p67 chipset. The stock bios uses the propriatery<br>
realtek pxe stack which can be downloaded from the realtek official site<br>
(current version as of today: 2.54). The pxe stack is integrated into<br>
the bios file and I know that the realtek stack is less than 64kb in size.<br>
<br>
I have my custom ipxe rom which comes at about 81kb in size. As I said<br>
the bios flashes successfully and the ipxe works correctly as long as<br>
the intel-sata-controller is not set to raid-mode. The intel-orom is<br>
about 120kb and I know that some older versions on the intel chipset (i<br>
think p57 was it) cannot work with newer oroms because of their size.<br>
<br>
I have disabled all other controllers on the motherboard (I don't need<br>
them anyway). The ones being active are usb, network and intel-sata.<br>
<br>
I can't say to the support service that I'm using a custom orom image<br>
because of the obvious reasons...<br>
<br>
I can compile the mrom image but since both the orom and mrom are in the<br>
same bios file I'm not sure if this can solve the problem. As I said<br>
this is not an expansion card with its own memory/extension bars. I can<br>
give it a try... Should I just compile both as stated here:<br>
<a href="http://ipxe.org/download" target="_blank">http://ipxe.org/download</a> and put them in the bios file? If so how can<br>
the mrom find the orom in this case??<br>
</blockquote>
<br></div></div>
Still exactly the same diagnosis.  The size of the BIOS flash chip is not relevant here: what matters is the 128kB limit on option ROM space which is intrinsic to all PC BIOSes.  You are (almost certainly) running out of space in this region when using a relatively large iPXE ROM image _and_ the Intel ROM with RAID enabled.<br>

<br>
You can't use .mrom in this situation: .mrom requires a NIC which has a memory BAR at least as large as the expansion ROM BAR (not true with RTL8169-based NICs), and also works only when the ROM image is held on the NIC's own expansion ROM (rather than being embedded into the BIOS flash).<br>

<br>
81kB is surprisingly large.  My standard build of bin/realtek.rom comes in at 65kB.  Which version of gcc are you using, and have you enabled any non-standard features?<br>
<br>
PCI BIOS 3.00 is not the same thing as PCIe gen3.  As I said before, you should check the ROM banner printed by iPXE, which will state the PCI BIOS version.<br>
<br>
Did you try the patch from my previous message?<span class=""><font color="#888888"><br>
<br>
Michael<br></font></span></blockquote><div> </div></div><br>I'll try the patch later today (still at work). Yes, I've enabled some 
extra features. Actually I wanted a substituation of the stock pxe-stack
 with all possible features. I'll post my customizations later on with 
the result from the test.<br clear="all"><br>-- <br>--joshua
</div></div>