xen-tools is a collection of simple perl scripts which allow you to easily create new Xen guest domains upon your Xen host server.
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin Release as xen-tools 4.7 Jan 22, 2017
debian Debian: Fix wrong bug number for #849867 in previous changelog entry Jan 23, 2017
etc Don't include oldoldstable in release testing Jan 17, 2017
examples release-testing: Add some helpful output and raise waiting time to 10… Jan 17, 2017
hooks Fix comments wrt. /etc/xen-tools/skel/ Aug 3, 2017
lib/Xen/Tools Fix typos found by check-all-the-things/spellintian Aug 11, 2016
misc Fix typos found by check-all-the-things/spellintian Aug 11, 2016
partitions 2007-07-07 23:48:08 by steve Jul 7, 2007
roles Switch many URLs to https://; update them if broken or redirected Aug 11, 2016
t Fix typos found by check-all-the-things/spellintian Aug 11, 2016
xt Move more tests to author-tests (xt) Jul 14, 2015
.gitignore Ignore debhelper stamp files Aug 11, 2016
.mailmap Add mailmap for more beautiful git shortlog. Jul 23, 2010
.travis.yml Travis CI: Also check with Perl 5.24 Aug 11, 2016
AUTHORS Fix typos found by check-all-the-things/codespell Aug 11, 2016
LICENSE Switch many URLs to https://; update them if broken or redirected Aug 11, 2016
Makefile Release as xen-tools 4.7 Jan 22, 2017
NEWS.markdown Also fix wrong bug number for #849867 in upstream changelog Jan 23, 2017
README.markdown Preliminary support for Ubuntu 17.04 Zesty Zapus Jan 10, 2017
SUPPORT.markdown Clarify one paragraph in SUPPORT.markdown Aug 11, 2016
TODO.markdown TODO: Fix xdm and gdm roles wrt. to uptodate package names Jun 7, 2016



Travis CI Build Status


xen-tools contains a collection of Perl scripts for working with Xen guest images under Linux.

Using this software, you can easily create new Xen guests configured to be accessible over the network via OpenSSH.

xen-tools currently has scripts to install most releases of Debian (starting with 3.1 "Sarge") and Ubuntu (starting with 6.06 LTS "Dapper") and some RPM-based distributions. On the Dom0 side all current Xen supporting distributions should work.

However, currently only Debian and Ubuntu releases are tested and known to work reliably, i.e.:


  • Sarge 3.1 (i386 and DomU only)
  • Etch 4.0 (Dom0 no more tested)
  • Lenny 5.0 (Dom0 no more tested)
  • Squeeze 6.0 (Dom0 no more tested)
  • Wheezy 7
  • Jessie 8
  • Stretch 9 (under development)
  • Buster 10 (knows about this future release name)
  • Bullseye 11 (knows about this future release name)
  • Sid (always under development; works at least at the moment of writing :-)


(only DomUs tested)

  • Dapper Drake 6.06 (LTS, needs editing of /usr/share/debootstrap/scripts/dapper since at least debootstrap version 1.0.37, see #659360)
  • Edgy Eft 6.10 (needs editing of /usr/share/debootstrap/scripts/edgy since at least debootstrap version 1.0.37, see #659360)
  • Feisty Fawn 7.04
  • Gutsy Gibbon 7.10
  • Hardy Heron 8.04 (LTS, see Installing Ubuntu 8.04 as DomU)
  • Interpid Ibex 8.10
  • Jaunty Jackaplope 9.04
  • Karmic Koala 9.10
  • Lucid Lynx 10.04 (LTS)
  • Maverick Meerkat 10.10
  • Natty Narwhal 11.04
  • Oneiric Ocelot 11.10
  • Precise Pangolin 12.04 (LTS)
  • Quantal Quetzal 12.10
  • Raring Ringtail 13.04
  • Saucy Salamander 13.10
  • Trusty Tahr 14.04 (LTS)
  • Utopic Unicorn 14.10
  • Vivid Vervet 15.04
  • Wily Werewolf 15.10
  • Xenial Xerus 16.04 (LTS)
  • Yakkety Yak 16.10
  • Zesty Zapus 17.04 (under development)


(only DomUs tested, pygrub support incomplete)

  • CentOS 5
  • CentOS 6


xen-tools are available prepackaged in Debian (and derivates) and as source tar-ball for local installation. Installing from source should work flawlessly on most Linux systems that meet the installation requirements.


To use these tools you'll need the following software:

You can try to install RPM-based distributions such as CentOS, or Fedora Core, but you will need a correctly installed and configured rinse package. This is currently not fully supported.

If you wish to create new Xen instances which may be controlled by users via a login shell you can have a look at the (currently unmaintained) xen-shell project.


As root or with sudo, execute make install.

See debian/README.source how to build the Debian package from a checked out copy of the git repository (i.e. without a source tar ball).

The Scripts

Here is a brief description of each included script, for more thorough documentation please consult the appropriate man page.


This script is designed to create new images which may be used with the Xen hypervisor.

This script performs the initial setup, then delegates the real work to a collection of helper scripts:

  • xt-install-image: Installs a distribution into a directory.

  • xt-customize-image: Run a collection of hook scripts to configure the freshly installed system.

  • xt-create-xen-config: Create a configuration file in /etc/xen such that Xen can boot the newly created machine.

  • xt-guess-suite-and-mirror: In case of a Debian or Ubuntu Dom0, this script tries to guess the most suitable suite and mirror for DomUs based on the Dom0's /etc/apt/sources.list.


This script is similar in spirit to xen-create-image, but much less complex. It allows the creation of Xen guests which are diskless, mounting their root filesystem over a remote NFS-share.

There are not many options to tweak, but still a useful addition to the suite.


This script will allow you to completely remove Xen instances which have previously been created by xen-create-image, this includes removing the storage block devices from the system, and deleting the Xen configuration file.


List all the created images beneath a given root directory along with a brief overview of their setup details.


This script runs "apt-get update; apt-get upgrade" for a given Xen image.


  • The image should not be running or corruption will occur!
  • The script should only be used for Xen instances of Debian or a Debian-derived distribution.

Version Numbering Scheme

Since release 4.4, the version numbering scheme of xen-tools tries to comply with the Semantic Versioning specification, with the only exception that trailing zeroes are omitted.

Between the releases 3.9 and 4.4, the version numbering scheme followed roughly the same ideas, but less strict.

Test Suite Coverage

Coverage Status

Despite parts of the test suite are quite old, it only tests a small fraction of what xen-tools can do. Some of the scripts currently could only be tested on an actual Xen Dom0. Hence the code coverage of xen-tools' test suite is quite bad.


Reporting Bugs

If you're using the current packages included as part of the Debian GNU/Linux distribution or a derivative, please first report any bugs using the distribution's way to report bugs.

In case of Debian this would be using e.g. reportbug xen-tools.

If you're using the xen-tools built from source tar ball, please report bugs via GitHub's issue tracker, or, if you don't want to create a GitHub account or are not sure if it's really a bug, feel free to just write an e-mail to the xen-tools dicsussion mailing list.

If you're capable of fixing it yourself a patch is appreciated, and a test case would be a useful bonus.

Known/Open Issues

-- The Xen-Tools Developer Team