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

Mark Gollahon mgollahon at exacq.com
Tue Jan 24 16:04:12 UTC 2012

Ok, seems Virtualbox needs the NONPNP_HOOK_INT19 symbol defined.

For future reference, this was on Virtualbox v4.0.16.  Seems
Virtualbox v4.1.8 needs it, too.

On Tue, Jan 24, 2012 at 10:45 AM, Mark Gollahon <mgollahon at exacq.com> wrote:
> 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
> culprit:
> 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