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

Joshua C. joshuacov at gmail.com
Mon Apr 15 21:44:43 UTC 2013

2013/4/15 Michael Brown <mbrown at fensystems.co.uk>

> On 15/04/13 15:37, Joshua C. wrote:
>> Let me put more light into the situation: this is a msi p67a-gd65
>> motherboard with am 8MB winbond bios-chip. The bios file has about 2MB
>> "free" space so I can put some more files on the bios-chip itself. The
>> motherboard uses a cheap realtek trl8111e chip which is soldgered on the
>> motherboard and taps one of the pci-e lanes on the chipset. PCI-E 3.0 is
>> not supported by the p67 chipset. The stock bios uses the propriatery
>> realtek pxe stack which can be downloaded from the realtek official site
>> (current version as of today: 2.54). The pxe stack is integrated into
>> the bios file and I know that the realtek stack is less than 64kb in size.
>> I have my custom ipxe rom which comes at about 81kb in size. As I said
>> the bios flashes successfully and the ipxe works correctly as long as
>> the intel-sata-controller is not set to raid-mode. The intel-orom is
>> about 120kb and I know that some older versions on the intel chipset (i
>> think p57 was it) cannot work with newer oroms because of their size.
>> I have disabled all other controllers on the motherboard (I don't need
>> them anyway). The ones being active are usb, network and intel-sata.
>> I can't say to the support service that I'm using a custom orom image
>> because of the obvious reasons...
>> I can compile the mrom image but since both the orom and mrom are in the
>> same bios file I'm not sure if this can solve the problem. As I said
>> this is not an expansion card with its own memory/extension bars. I can
>> give it a try... Should I just compile both as stated here:
>> http://ipxe.org/download and put them in the bios file? If so how can
>> the mrom find the orom in this case??
> 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.
> 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).
> 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?
> 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.
> Did you try the patch from my previous message?
> Michael

Your patch fixed my problem. I tested this several times with files as big
as 25MB (f18 kernel and initrd) and those worked fine. The system booted
without any problems. Here is my configuration patch (I know it has
redundancies but currently I don't have much time to fix it, and it still
works!). I cannot see the pci bios version?!? Maybe this is because it have
a custom ipxe string?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20130415/96d75ebe/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: iPXE-Customization-for-Realtek-Controller-MSI-p67a-gd65.patch
Type: application/octet-stream
Size: 7724 bytes
Desc: not available
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20130415/96d75ebe/attachment.obj>

More information about the ipxe-devel mailing list