Hello,
I was using virtualbox 5.0.20 (Win 7 x64) with Extension Pack and iPXE boot worked fine with Intel Pro 1000 MT Desktop Nic (82540EM).
I upgraded to 5.1.2 (extension pack upgraded too) and now when I boot to iPXE :
iPXE stopped on "configuring......." and this error appears : "no more network devices"
I use a proxyDHCP (Tiny PXE Server 1.0.0.19).
When I try with a physical machine (laptop) everything works fine.
Any idea
?
Use older version of Virtual box seems to be the fix for now, have seen several reports of similar issues lately, and it seems to be purely a vbox issue.
There is changes to ipxe that might affect rom size (vbox is limited to 56K if i'm not mistaken), but that should not be the cause here. You can of course try to build a ipxe rom from an older git commit just to confirm.
Not a VBox user myself just relying what I have gathered on IRC. (purely a qemu user myself)
The error message you're getting indicates that you're not getting any response from your DHCP server, so your network is most likely screwed up in some way. Are you using bridged or NAT networking? You should be using bridged networking if you want to get a response from the DHCP server on your local (host) network.
I had my own issue with 5.1.2, it couldn't even start VMs because of some funky DLL issue on Windows. I ended up rolling back to 5.0.26 and everything worked again.
Be aware that a custom iPXE ROM must never be more than 56KB (56 x 1024 bytes) large, or VirtualBox will silently fail to load it. This has bitten me a lot of times.
This is the shell function I use to build my vbox-compatible iPXE ROM:
Code:
make_vbox() {
pushd "$HOME/src/forked/ipxe/src" >/dev/null &&
make CONFIG=vbox bin/intel--virtio-net--pcnet32.isarom &&
echo "Max size of VirtualBox ROM is 56KB, 57344 bytes" &&
ls -l bin/intel--virtio-net--pcnet32.isarom &&
prefix=$(date +%Y%m%d-%H%M%S) &&
mkdir -p /ipxe/$prefix &&
cp -v bin/intel--virtio-net--pcnet32.isarom /ipxe/$prefix/ &&
echo -e "@echo off\r\nvboxmanage setextradata global VBoxInternal/Devices/pcbios/0/Config/LanBootRom C:\\Programs\\iPXE\\$prefix\\intel--virtio-net--pcnet32.isarom\r\nvboxmanage getextradata global enumerate\r\n" >/ipxe/setvboxrom.bat &&
popd >/dev/null
}
@robinsmidsrod : Are you talking about the undionly.kpxe size when you specify 56KB size ? Because mine is 315KB. But it worked with 5.0.20, so the new limitation of 56KB is specific to VirtualBox 5.1.x ?
My DHCP server is working as you can see on screencapture (dhcp ip client=192.168.0.95) and I see request in my dhcpRelay log. My VM is configured with bridge access to my ethernet card.
@NiKiZe: I never been able to boot with iPXE ROM (qemu or virtualbox without VB Extension Pack) because some features are missing (PXEXT, NFS...) and it can't boot without errors. Here is my Tiny PXE Server config :
Maybe is it possible to force my bootfile "bm_undionly.kpxe" even if there already is an iPXE boot embedded ?
I use Tomato FW with DNSmasq advanced configuration :
Code:
dhcp-boot=bm_undionly.kpxe,proxy,192.168.0.17
As mentioned on that VirtualBox ticket it has been fixed in SVN and will be in the release after 5.1.4.
Just for the record. 5.0.26 works as expected, so if you're in a rush to get it to work, just downgrade to 5.0.26 until a new 5.1.x release is available.
Also, it's only when iPXE is used as a VirtualBox ROM that the file limit is 56KB. If you use ipxe.pxe or undionly.kpxe there is no problem with it being 300-400KB. One last thing to remember about VirtualBox is that if your PXE ROM is too large VirtualBox will silently refuse to load it, giving you no frontend error about it (there might be something in the log file, but I haven't checked recently).