The Lumber Cartel, local 42 (Canadian branch)
 |   |   |   |   |   |   | 

Library - Xen - How-to - Create an HVM DomU

For each DomU you'll need to create a separate xmdomain.cfg file.  The first example, which is considered by many to be the most challenging, is a configuration file that will run Microsoft's Windows XP (either Home or Professional will suffice) Operating System, or ReactOS (a free alternative to Microsoft Windows).

Create a "xmdomain.cfg" file

DO NOT use the filename "xmdomain.cfg" in order to avoid the possibility of putting your configuration file at risk of being overwritten in the future by a person or a process mistakenly assuming that it is a sample file.

For this DomU, create a file named "/usr/pkg/etc/xen/win32.cfg" containing the following data:

kernel = "/usr/pkg/lib/xen/boot/hvmloader"
builder = 'hvm'
memory = 4096
name = "win32"
vif = [ 'mac=00:16:3e:00:00:13, bridge=bridge0, type=ioemu' ]
device_model = '/usr/pkg/libexec/qemu-dm'
disk = [ 'file:/usr/pkg/etc/xen/images/win32-drive-c.bin,ioemu:hda,w',
         'file:/usr/pkg/etc/xen/images/winxppro.iso,ioemu:hdc:cdrom,r' ]
boot = 'd'
vnc = 1
vncdisplay = 1
usb = 1
usbdevice = 'tablet'
localtime = 1
vcpus = 3
#on_crash = 'preserve'
#on_reboot = 'preserve'

If you're using ReactOS, instead of Microsoft's Windows XP, or some other alternative OS, change "winxppro" (underlined above) accordingly.  We very strongly recommend that you name your ISO image files logically so that you can easily determine what they are by their filename.

After you install the Operating System, change the value for the "boot" parameter from "d" to "c" to prevent delays or to eliminate complications (possibly requiring your manual intervention) during the boot process for your DomU.

When using multiple DomUs, using different values for the "vncdisplay" parameter will become quite useful.  For this particular DomU, to use display 1 in your VNC Viewer, add a :1 to the end of the hostname or IP address you're connecting to.

By setting the "usbdevice" parameter to "tablet" we ensure that VNC will function accurately.  If you use "mouse" (the default), tracking problems will occur either intermittently or constantly depending on the VNC Viewer software you selected.  This is the well known solution to this common problem.

Setting the "localtime" parameter to 1 ensures that your OS will have the correct time and date.  If this doesn't work, then try commenting out this parameter, and if that still doesn't work, then ask for assistance on IRC, support forums, mailing lists, etc.

The "vcpus" parameter allows your DomU to detect the specified number of processors.  On our system the Intel Xeon QuadCore CPU we use has 4 processors in 1, so we ensure that Dom0 always has 1 available to it while the DomU gets to use the other 3 (and Windows XP detects 3 CPUs).

The final parameters are commented out so they have no effect, but are provided for your convenience in case you ever need them.

Additional notes

Remember to enable "VT" (Virtualization Technology) in your system BIOS settings.  This is needed in order to virtualize an Operating System (such as Microsoft's Windows XP) with HVM that isn't designed to be virtualized.

In older versions of Xen, such as 3.1.4, there were some problems with technologies such as ACPI (for power management).  With Xen 3.3 these problems seem to have been resolved, so we don't bother to disable them.  In fact, with ACPI enabled (the default), issuing an "xm shutdown" command will cause your DomU to sense that the power button was pressed and the OS, if it supports ACPI (as Windows XP does), will begin a graceful shutdown sequence.

Windows XP users should ensure that Service Pack 3 or newer is installed to ensure optimal performance and improved compatibility.  Although PAE (Physical Address Extension) support is supposedly added in Service Pack 3, this configuration isn't using it because HVM in Xen 3.3 works in a way that PAE simply isn't needed.

[Previous] [Index] [Next]

[Home] [Profile] [Glossary] [Library] [Resources] [Tools] [FAQ] [Site map] [Contact us]

Copyright © Inter-Corporate Computer & Network Services, Inc.  All rights reserved.
All trademarks are the property of their respective owners.