[ipxe-devel] iPXE Trunk ROM for Virtualbox virtio nic

Mark Gollahon mgollahon at exacq.com
Tue Jan 24 15:45:06 UTC 2012

I went back to iPXE v1.0.0, compiled it, and it worked!  So, I did a
git bisect (my first, woohoo!), and came up with this check-in as the

fcd55f750011e83709681476e8958fb4c9a2298d is the first bad commit
commit fcd55f750011e83709681476e8958fb4c9a2298d
Author: Michael Brown <mcb30 at ipxe.org>
Date:   Tue May 17 15:35:23 2011 +0100

    [romprefix] Do not fall back to hooking INT19 by default

    Several BIOSes (including most IBM BIOSes and many virtual machine
    BIOSes) do not provide detectable PnP support, but will use the BEV
    entry point for a PnP option ROM.  On these semi-PnP BIOSes, iPXE will
    respond to the absence of detectable PnP support by hooking INT19,
    which disrupts the boot order.

    BIOSes that genuinely require hooking INT19 seem to be very rare
    nowadays.  It may therefore be preferable to assume that the absence
    of detectable PnP support indicates a semi-PnP BIOS rather than a
    non-PnP BIOS.

    Change the default behaviour so that INT19 will never be hooked unless
    the compile-time option NONPNP_HOOK_INT19 is enabled.  Leave the
    redundant PnP detection routine in-place to allow for debugging via
    the ROM banner line.

    Signed-off-by: Michael Brown <mcb30 at ipxe.org>

:040000 040000 7fb0c10da6d39f3455ea99510b44ca5931ed00f8
9ee528e125c18207fdb34351de72c096cc774768 M	src

So, what do I do now?

On Mon, Jan 23, 2012 at 5:10 PM, Mark Gollahon <mgollahon at exacq.com> wrote:
> Hello, list!
> I have been trying for days to compile an iPXE virtio-net ROM for use
> with Virtualbox, but have been unsuccessful.  I originally followed
> the instructions on the etherboot site
> (http://WWW.etherboot.org/wiki/romburning/vbox) with just changing the
> driver to "virtio-net.rom" without success.  I then tried
> "virtio-net.mrom" and that didn't work.  As a sanity-check, I tried
> "virtio-net.iso" and that booted, so I know this works....
> The symptoms that Virtualbox exibits when starting a virtual machine
> is a noticeable delay on showing the Virtualbox splash and then a
> "FATAL: No bootable medium found! System halted" message immediately
> after the VBox splash.  If I remove the iPXE ROM from the VM's config
> (and leaving all the other config in place), there is no initial
> delay, but Virtualbox's Intel UNDI firmware doesn't have support for
> virtio-net.
> After all of this, I started compiling-out pieces of iPXE that I
> thought I might not use in my environment (and some I might) to try
> and get the ROM size down based on the message thread "iPXE with
> Virtualbox" started on this list by Pete I. Eby.  I currently have
> removed fibre channel, all sanboot protocols, many download protocols,
> and several image supporters via these #undef's in the
> src/config/local/general.h file:
> I've also added this #undef to console.h for good measure:
> Furthermore, I've tried building the 82543GC iPXE ROM, and that one
> fails as well with the exact same symptoms (rom and mrom don't work,
> but ISO does).
> Next, I tried turning on Virtualbox's pxe debug ("VBoxManage modifyvm
> <vmname> --biospxedebug on"), but don't see any new information in
> Virtualbox's logs.
> And finally I've dropped back from Virtualbox v4.1.8 to v4.0.16 - same
> symptoms....
> Does anyone have advice on where to go now?  I'd really like to use
> iPXE in combination with virtio-net in Virtualbox.
> Thank you!

More information about the ipxe-devel mailing list