[ipxe-devel] iPXE Trunk ROM for Virtualbox virtio nic
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 --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! ___ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo/ipxe-devel
Re: [ipxe-devel] iPXE Trunk ROM for Virtualbox virtio nic
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 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 :04 04 7fb0c10da6d39f3455ea99510b44ca5931ed00f8 9ee528e125c18207fdb34351de72c096cc774768 M src So, what do I do now? On Mon, Jan 23, 2012 at 5:10 PM, Mark Gollahon 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 > --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! ___ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo/ipxe-devel
Re: [ipxe-devel] iPXE Trunk ROM for Virtualbox virtio nic
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 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 > 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 > > :04 04 7fb0c10da6d39f3455ea99510b44ca5931ed00f8 > 9ee528e125c18207fdb34351de72c096cc774768 M src > > > So, what do I do now? > > > On Mon, Jan 23, 2012 at 5:10 PM, Mark Gollahon 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 >> --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! ___ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo/ipxe-devel
Re: [ipxe-devel] iPXE Trunk ROM for Virtualbox virtio nic
On Tuesday 24 Jan 2012 16:04:12 Mark Gollahon wrote: > 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. Thanks for debugging this. Any suggestions on how to fix this without breaking real IBM BIOSes welcome. Michael ___ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo/ipxe-devel
Re: [ipxe-devel] iPXE Trunk ROM for Virtualbox virtio nic
You're quite welcome. First time using git bisect for me. It is a wonderful tool! As for the int19 issue - someone with more indepth BIOS knowledge than I will need to do it. On Feb 12, 2012 8:24 AM, "Michael Brown" wrote: > On Tuesday 24 Jan 2012 16:04:12 Mark Gollahon wrote: > > 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. > > Thanks for debugging this. Any suggestions on how to fix this without > breaking > real IBM BIOSes welcome. > > Michael > ___ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo/ipxe-devel