[Pkg-virtualbox-devel] Bug#582226: virtualbox-ose: PXE stack provides 0.0.0.0 as address for TFTP server for WDS' wdsnbp.com

Paul Millar paul.millar at desy.de
Wed May 19 08:57:04 UTC 2010


Package: virtualbox-ose
Version: 3.1.6-dfsg-2
Severity: normal
Tags: sid

I'm trying to use Windows Deployment Service (WDS) to auto-deploy Windows to a
VirtualBox image via network PXE boot.  As part of this installation process,
the central server will attempt to wipe the virtual machine's hard-disk and
install a Windows setup.

Here's what happens after the main BIOS initialisation has completed:

   1. the (virtual) machine BIOS/network card issues a DHCP request.

   2. the DHCP server replies with information, including the machine's IP
address, PXE image filename and TFTP server's IP address.

   3. the machine successfully downloads (via TFTP) the PXE image: wdsnbp.com

   4. the PXE image (wdsnbp.com) starts.

   5. wdsnbp.com detects the VirtualBox image's architecture (x86)

   6. wdsnbp.com attempts to acquire an architecture-specific installer via
TFTP

The problem is with the last step: wdsbnp.com attempts to contact the TFTP
server with IP address 0.0.0.0.  Not surprisingly, this attempt fails: the
attempt to TFTP the required file from this IP address solicits no replies and
the attempt eventually times-out.

Inspection of the network packets shows that the DHCP server-provided
information does not contain this incorrect IP address; therefore, it seems
that either the PXE stack has become corrupted or WDSNBP is expecting the TFTP
server's IP address to be stored by some means that the current VirtualBox
BIOS/PXE stack doesn't support.

The network driver is connected to a physical interface (eth0) via an internal
bridge, so the machine's network adapter is using the "bridge adapter" option.

The above behaviour happens with both the PCnet-FAST III and PCnet-PCI II
adapter emulation.  None of the emulated Intel devices (Intel PRO/1000 MT
82540EM, Intel PRO/1000 T 82543GC, Intel PRO/1000 MT 82545EM) succeed with step
1. above: they all fail to issue a DHCP request.

I believe VirtualBox has built-in support for PXE-booting by including code
from the Etherboot project.  This appears to be where the problem lies.
Unfortunately, the Etherboot project itself appears moribund; instead, activity
is focused towards the gPXE project, which is an off-shoot of Etherboot.

Following the instructions here:

    http://www.etherboot.org/wiki/romburning/vbox

I was able to get VirtualBox to boot from a gPXE boot ROM, built from current
trunk (well, origin/master since it's git).

Perhaps the solution to this bug is to switch to using a gPXE image in
VirtualBox.  If direct integration within VirtualBox is awkward, this could be
achieved by building a suitable gPXE ROM image and including it with the
distribution.

Cheers,

Paul.



-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (500, 'oldstable'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-20100317 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages virtualbox-ose depends on:
ii  adduser                 3.112            add and remove users and groups
ii  libc6                   2.10.2-6         Embedded GNU C Library: Shared lib
ii  libcurl3                7.20.1-1         Multi-protocol file transfer libra
ii  libgcc1                 1:4.4.3-9        GCC support library
ii  libpng12-0              1.2.43-1         PNG library - runtime
ii  libsdl1.2debian         1.2.14-5         Simple DirectMedia Layer
ii  libssl0.9.8             0.9.8n-1         SSL shared libraries
ii  libstdc++6              4.4.3-9          The GNU Standard C++ Library v3
ii  libx11-6                2:1.3.3-3        X11 client-side library
ii  libxcursor1             1:1.1.10-2       X cursor management library
ii  libxext6                2:1.1.1-3        X11 miscellaneous extension librar
ii  libxml2                 2.7.7.dfsg-2     GNOME XML library
ii  libxmu6                 2:1.0.5-1        X11 miscellaneous utility library
ii  libxt6                  1:1.0.7-1        X11 toolkit intrinsics library
ii  python                  2.5.4-9          An interactive high-level object-o
ii  python-central          0.6.16           register and build utility for Pyt
ii  python2.5               2.5.5-6          An interactive high-level object-o
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

Versions of packages virtualbox-ose recommends:
ii  libgl1-mesa-glx [libgl1]    7.7.1-1      A free implementation of the OpenG
ii  libqt4-opengl               4:4.6.2-4    Qt 4 OpenGL module
ii  libqtcore4                  4:4.6.2-4    Qt 4 core module
ii  libqtgui4                   4:4.6.2-4    Qt 4 GUI module
ii  virtualbox-ose-dkms         3.1.6-dfsg-2 x86 virtualization solution - kern
ii  virtualbox-ose-qt           3.1.6-dfsg-2 x86 virtualization solution - Qt b
ii  virtualbox-ose-source       3.1.6-dfsg-2 x86 virtualization solution - kern

Versions of packages virtualbox-ose suggests:
ii  libasound2                    1.0.22-2   shared library for ALSA applicatio
ii  libpulse0                     0.9.21-1.2 PulseAudio client libraries
pn  virtualbox-guest-additions    <none>     (no description available)

-- debconf information:
* virtualbox-ose/upstream_version_change: true





More information about the Pkg-virtualbox-devel mailing list