DomU Support for Xen
DomU support in Linux distributions
This page describes the current status of support in Linux distributions for running as guest VMs; if you are looking for dom0 support go here.
You can also find instruction on how to build a mainline Linux kernel for DomU here.
PV is the regular domU support that has been present in most Linux distributions for years and it is required to run on Amazon EC2 for example.
PV on HVM is a new type of Xen Project Hypervisor guest support that exploits hardware nested paging while enabling PV interfaces for IO. Depending on the workload PV on HVM guests might be faster or slower than regular PV guests. See Xen_Linux_PV_on_HVM_drivers for more information.
Distribution | run as PV guest | support for PVHVM |
Alpine Linux 2.3.x | yes | ??? |
Alpine Linux 2.4.x | yes | ??? |
Arch Linux (x86-64 only [5]) | yes | yes |
CentOS 5 | yes | ??? |
CentOS 6 | yes | ??? |
Debian 5.0 (Lenny) | yes | ??? |
Debian 6.0 (Squeeze) | yes | ??? |
Debian 7 (Wheezy) | yes | yes |
Fedora 14 | yes | ??? |
Fedora 16 | yes | ??? |
OpenEmbedded 1.3+ | yes | ??? |
OpenSUSE 11.4 | yes | ??? |
Oracle Linux 5 | yes[2] | ??? |
Oracle Linux 6 | yes[2] | ??? |
RHEL 5 | yes [3] | ??? |
RHEL 6 | yes | ??? |
SLES 10 | yes | ??? |
SLES 11 | yes | ??? |
Ubuntu 10.04 | yes[1] | ??? |
Ubuntu 11.04 | yes[1] | ??? |
Ubuntu 12.04 | yes[1] | ??? |
[1] EC2 kernel only
[2] Supported using the Red Hat-compatible Kernel as well as the Oracle Unbreakable Enterprise Kernel
[3] save/restore is known to have bugs
[4] see Xen_Linux_PV_on_HVM_drivers for resources about using optimized (paravirtualized) PV-on-HVM drivers
[5] You would need to recompile the kernel for Arch Linux i686.
DomU support in BSDs and other Unix systems
This list is currently incomplete. We are in the process of verifying support for Unixes.
Distribution | run as PV guest | PVHVM |
FreeBSD >=10 | No[1] | Yes |
NetBSD >=3 | Yes[2] | No |
OpenBSD 5.9 | no[6] | yes[3] |
OpenIndiana[4] | no[4] | no |
Solaris 11 | yes[5] | no |
[1] See for more information
[2] See NetBSD Xen HowTo for more information
[3] PV drivers are selected automatically when OpenBSD recognizes that it's executing under Xen so no user configuration is required.
[4] On their offical web site, you can read: 'Xen-based virtualization was at some time part of OpenSolaris project, but became outdated and was ultimately dropped due to lack of resources and invested interest.'
[5] For SPARC systems as well as x86 systems (Oracle Solaris 11 OS already has the paravirtualized drivers installed as part of the OS).
[6] As the main Xen dev from OpenBSD (Mike Belopuhov) has it: 'You need to use an HVM loader, since we're not supporting pure PV mode.In Linux/xl parlance it requires builder = "hvm" option in the Xen VM config. I think that if you're trying to boot the kernel directly, you're instructing Xen to run VM in a PV mode, (which is impossible).'
DomU support for Windows
Windows falls into the category of an unmodified operating system (in other words an operating system that has not been altered specifically to run on the Xen Project Hypervisor). Thus, paravirtualization is not an option. The best way, therefore, to virtualize Windows is to use as a HVM) guest. The Windows 7/XP/Vista/Server 2008 section of the Category:HowTo document points to instructions explaining how to do this.
However, James Harper maintains a set of PV drivers that allow Windows to make use of the network and block backend drivers in Dom0. This gives a guest Windows VM a substantial performance boost. The table below shows the drivers available.
Distribution | run as PV guest |
Windows Vista | no |
Windows XP | no |
Windows 2008 | no |
Windows 2003 | no |
Windows 2000 | no |
Windows 7 | no |
[1] GPLPV drivers can be downloaded from meadowcourt.org/downloads; further information can be found on XenWindowsGplPv
[2] Signed GPLPV drivers are available for download from Univention
[3] Xen Project Windows PV drivers available from [1]