Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 May 2014 20:24:08 GMT
From:      Martin Birgmeier <Martin.Birgmeier@aon.at>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/189212: netboot of a virtualbox diskless client hangs at pxeboot (iPXE)
Message-ID:  <201405012024.s41KO8Pf028118@cgiserv.freebsd.org>
Resent-Message-ID: <201405012030.s41KU1VY012136@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         189212
>Category:       ports
>Synopsis:       netboot of a virtualbox diskless client hangs at pxeboot (iPXE)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu May 01 20:30:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Martin Birgmeier
>Release:        9.2
>Organization:
MBi at home
>Environment:
FreeBSD hal.xyzzy 9.2-RELEASE-p5 FreeBSD 9.2-RELEASE-p5 #1 r265148M: Wed Apr 30 20:36:08 CEST 2014     root@hal.xyzzy:/usr/obj/z/SRC/FreeBSD/releng/9.2/sys/XYZZY_SMP  amd64
>Description:
The setup involves a DHCP/TFTP/NFS server which dishes out /boot/pxeboot via tftp and offers a full 9.2 installation as an NFS root path. This works (and has always worked) with physical machines, enabling them to netboot into a FreeBSD 9.2 installation.

Up till VirtualBox 4.3.8 (I believe), it was also possible to netboot a VirtualBox client machine with exactly this setup. However, starting with 4.3.10 (I believe), but surely with the switch to iPXE by VirtualBox, this does not work any more and hangs at the pxeboot stage:

---------- snip ----------
net0: 00:50:56:29:08:01 using pcnet32 on PCI00:03.0 (open)
  [Link:up, TX:0 TXE:0 BX:0 BXE:0]
DHCP (net0 00:50:56:29:08:01)...... ok
net0: 192.168.1.165/255.255.255.0 gw 192.168.1.5
Next server: 192.168.1.5
Filename: /pxeboot
Root path: 192.168.1.5:/d/5s3e/
Ignoring unsupported root path
tftp://192.168.1.5//pxeboot... ok
PXE Loader 1.00

Building the boot loader arguments
Relocating the loader and the BTX
Starting the BTX loader

BTX loader 1.00  BTX version is 1.02
Consoles: internal video/keyboard

PXE version 2.1, real mode entry point @9cfa:03e9
BIOS 627kB/2095624kB available memory

FreeBSD/x86 bootstrap loader, Revision 1.1
(root@v902.xyzzy, Sat Oct  5 14:31:42 CEST 2013)
---------- snip ----------

And there it hangs. Using tcpdump I can see that the VM periodically sends DHCP discover packets which are duly answered by the DHCP server (otherwise we wouldn't even have gotten so far), but that's it. The VM produces a constant load of 1, most likely meaning that it does busy waiting.

Miscellaneous info:
- The DHCP/TFTP/NFS server runs 9.2 i386 single core (no SMP)
- The VirtualBox host runs 9.2 amd64 SMP
- The client environment (never reached unless by a physical machine) is 9.2 i386 SMP


>How-To-Repeat:
Try to netboot a VirtualBox diskless client.
>Fix:
Since the netboot setup still works nicely with physical machines, there seems to be some incompatibility with the new iPXE code incorporated in VirtualBox.

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201405012024.s41KO8Pf028118>