[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:
>>
>> FCMGMT_CMD
>> NET_PROTO_FCOE
>>
>> SANBOOT_PROTO_ISCSI
>> SANBOOT_PROTO_AOE
>> SANBOOT_PROTO_IB_SRP
>> SANBOOT_PROTO_FCP
>>
>> DOWNLOAD_PROTO_TFTP
>> DOWNLOAD_PROTO_HTTPS
>> DOWNLOAD_PROTO_FTP
>> DOWNLOAD_PROTO_TFTM
>> DOWNLOAD_PROTO_SLAM
>>
>> IMAGE_MULTIBOOT
>> IMAGE_AOUT
>> IMAGE_WINCE
>> IMAGE_EFI
>>
>> I've also added this #undef to console.h for good measure:
>>
>> CONSOLE_SERIAL
>>
>> 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