iPXE discussion forum
Need of iPXE boot in VirtualBox using a ROM with HTTP support - Printable Version

+- iPXE discussion forum (https://forum.ipxe.org)
+-- Forum: iPXE user forums (/forumdisplay.php?fid=1)
+--- Forum: General (/forumdisplay.php?fid=2)
+--- Thread: Need of iPXE boot in VirtualBox using a ROM with HTTP support (/showthread.php?tid=7525)



Need of iPXE boot in VirtualBox using a ROM with HTTP support - q2dg - 2014-11-07 16:32

Hello.
I want to use iPXE to boot a VirtualBox's virtual machine using a ROM which can use HTTP protocol, but what I finally get is a ROM which can use TFTP and some more protocols, but no HTTP. I write you the steps I've done...I don't know what I'm missing:

1.-After fetching iPXE source code as usual (git clone git://git.ipxe.org/ipxe.git) I've commented the line #undef DOWNLOAD_PROTO_HTTP from ipxe/src/config/vbox/general.h hoping to activate HTTP protocol in my compiled ROM (why is HTTP deactivated by default in vbox specific configuration??!!). I've not seen this step anywhere, but I've done this using "common sense".

2.-Then I've made the compilation with the command: make CONFIG=vbox bin/8086100e.isarom ("8086100e" is the vendor_id of the default net card in VirtualBox, the Intel Pro/1000 MT Desktop)

3.-As seen in https://git.ipxe.org/ipxe.git/blob/HEAD:/src/config/vbox/README, I've replaced the default rom of VirtualBox with my recently compiled one with the command: vboxmanage setextradata "MyVMName" VBoxInternal/Devices/pcbios/0/Config/LanBootRom /home/myusername/ipxe/src/bin/8086100e.isarom

And that's all: iPXE works but HTTP feature is missing, and I don't know why!! I really need it.

Thanks a lot.
Best regards

PD: I use last VirtualBox (4.3.18) in a Fedora 20 x86_64 host machine


RE: Need of iPXE boot in VirtualBox using a ROM with HTTP support - q2dg - 2014-11-07 23:49

Well...this thread is talking EXACTLY about this issue: http://lists.ipxe.org/pipermail/ipxe-devel/2013-January/002166.html

Thanks to it I've seen there is a problem with compiled ROM size: in logs of my VM it says:

DevPcBios: Failed to open LAN boot ROM file '/home/myusername/ipxe/src/bin/8086100e.isarom', rc=VERR_TOO_MUCH_DATA!

...and in https://git.ipxe.org/ipxe.git/blob/HEAD:/src/config/vbox/README I can read "Max size of a VirtualBox ROM is 56KB, 57344 bytes", when my compiled ROM exceeds 60KB.

So...I will keep going...
I've solved!!

I've added to ipxe/src/config/vbox/general.h these two lines for disabling TFTP and DNS:

#undef DOWNLOAD_PROTO_TFTP
#undef DNS_RESOLVER

and I've got a compiled ROM of just just 57344 bytes. And it works! Yeah!!


RE: Need of iPXE boot in VirtualBox using a ROM with HTTP support - robinsmidsrod - 2014-12-03 16:00

Congratulations! The reason for disabling HTTP on the default vbox build is to make sure you get drivers for all the different virtual NICs vbox supports. To do that we had to strip out almost all of the iPXE-specific functionality and only keep core PXE features.

If you can get rid of core PXE-required features on your specific network you can customize the build further. The purpose with the default vbox configuration was to be able to build a ROM that could replace the non-free Intel PXE ROM used by VirtualBox without lacking any core PXE features.


RE: Need of iPXE boot in VirtualBox using a ROM with HTTP support - TheUltimateUnltd - 2015-03-30 09:36

(2014-12-03 16:00)robinsmidsrod Wrote:  Congratulations! The reason for disabling HTTP on the default vbox build is to make sure you get drivers for all the different virtual NICs vbox supports. To do that we had to strip out almost all of the iPXE-specific functionality and only keep core PXE features.

If you can get rid of core PXE-required features on your specific network you can customize the build further. The purpose with the default vbox configuration was to be able to build a ROM that could replace the non-free Intel PXE ROM used by VirtualBox without lacking any core PXE features.

Well has onyone succeeded in a build of a virtio isarom with http booting ?