view README @ 16675:9b37cabe0485

xend: Indicate a resume operation

Indicate that the domain is created as part of a resume operation
rather than a 'create'.

Signed-off-by: Stefan Berger <>
author Keir Fraser <>
date Wed Dec 19 14:45:04 2007 +0000 (2007-12-19)
parents 26fb702fd8cf
children 4b1bbcf18eb5
line source
1 #################################
2 __ __ _____ ____
3 \ \/ /___ _ __ |___ / |___ \
4 \ // _ \ '_ \ |_ \ __) |
5 / \ __/ | | | ___) | / __/
6 /_/\_\___|_| |_| |____(_)_____|
8 #################################
12 What is Xen?
13 ============
15 Xen is a Virtual Machine Monitor (VMM) originally developed by the
16 Systems Research Group of the University of Cambridge Computer
17 Laboratory, as part of the UK-EPSRC funded XenoServers project. Xen
18 is freely-distributable Open Source software, released under the GNU
19 GPL. Since its initial public release, Xen has grown a large
20 development community, spearheaded by XenSource Inc, a company created
21 by the original Xen development team to build enterprise products
22 around Xen.
24 The 3.2 release offers excellent performance, hardware support and
25 enterprise-grade features such as x86_32-PAE, x86_64, SMP guests and
26 live relocation of VMs. This install tree contains source for a Linux
27 2.6 guest; ports to Linux 2.4, NetBSD, FreeBSD and Solaris are
28 available from the community.
30 This file contains some quick-start instructions to install Xen on
31 your system. For full documentation, see the Xen User Manual. If this
32 is a pre-built release then you can find the manual at:
33 dist/install/usr/share/doc/xen/pdf/user.pdf
34 If you have a source release, then 'make -C docs' will build the
35 manual at docs/pdf/user.pdf.
37 Quick-Start Guide - Pre-Built Binary Release
38 ============================================
40 [NB. Unless noted otherwise, all the following steps should be
41 performed with root privileges.]
43 1. Install the binary distribution onto your filesystem:
45 # sh ./
47 Among other things, this will install Xen and Xen-ready Linux
48 kernel files in /boot, kernel modules and Python packages in /lib,
49 and various control tools in standard 'bin' directories.
51 2. Configure your bootloader to boot Xen and an initial Linux virtual
52 machine. Note that Xen currently only works with GRUB and pxelinux
53 derived boot loaders: less common alternatives such as LILO are
54 *not* supported. You can most likely find your GRUB menu file at
55 /boot/grub/menu.lst: edit this file to include an entry like the
56 following:
58 title Xen 3.2 / XenLinux 2.6
59 kernel /boot/xen-3.2.gz console=vga
60 module /boot/vmlinuz-2.6-xen root=<root-dev> ro console=tty0
61 module /boot/initrd-2.6-xen.img
63 NB: Not all kernel configs need an initial ram disk (initrd), but
64 if you do specify one you'll need to use the 'module' grub directive
65 rather than 'initrd'.
67 The linux command line takes all the usual options, such as
68 root=<root-dev> to specify your usual root partition (e.g.,
69 /dev/hda1).
71 The Xen command line takes a number of optional arguments described
72 in the manual. The most common is 'dom0_mem=xxxM' which sets the
73 amount of memory to allocate for use by your initial virtual
74 machine (known as domain 0). Note that Xen itself reserves about
75 32MB memory for internal use, which is not available for allocation
76 to virtual machines.
78 3. Reboot your system and select the "Xen 3.2 / XenLinux 2.6" menu
79 option. After booting Xen, Linux will start and your initialisation
80 scripts should execute in the usual way.
82 Quick-Start Guide - Source Release
83 ==================================
85 First, there are a number of prerequisites for building a Xen source
86 release. Make sure you have all the following installed, either by
87 visiting the project webpage or installing a pre-built package
88 provided by your Linux distributor:
89 * GCC v3.4 or later
90 * GNU Make
91 * GNU Binutils
92 * Development install of zlib (e.g., zlib-dev)
93 * Development install of Python v2.3 or later (e.g., python-dev)
94 * Development install of curses (e.g., libncurses-dev)
95 * Development install of openssl (e.g., openssl-dev)
96 * Development install of x11 (e.g. xorg-x11-dev)
97 * bridge-utils package (/sbin/brctl)
98 * iproute package (/sbin/ip)
99 * hotplug or udev
101 [NB. Unless noted otherwise, all the following steps should be
102 performed with root privileges.]
104 1. Download and untar the source tarball file. This will be a
105 file named xen-unstable-src.tgz, or xen-$version-src.tgz.
106 You can also pull the current version from the mercurial
107 repository at
109 # tar xzf xen-unstable-src.tgz
111 Assuming you are using the unstable tree, this will
112 untar into xen-unstable. The rest of the instructions
113 use the unstable tree as an example, substitute the
114 version for unstable.
116 2. cd to xen-unstable (or whatever you sensibly rename it to).
118 On Linux:
120 3. For the very first build, or if you want to destroy existing
121 .configs and build trees, perform the following steps:
123 # make world
124 # make install
126 This will create and install onto the local machine. It will build
127 the xen binary (xen.gz), and a linux kernel and modules that can be
128 used in both dom0 and an unprivileged guest kernel (vmlinuz-2.6.x-xen),
129 the tools and the documentation.
131 You can override the destination for make install by setting DESTDIR
132 to some value.
134 The make command line defaults to building the kernel vmlinuz-2.6.x-xen.
135 You can override this default by specifying KERNELS=kernelname. For
136 example, you can make two kernels - linux-2.6-xen0
137 and linux-2.6-xenU - which are smaller builds containing only selected
138 modules, intended primarily for developers that don't like to wait
139 for a full -xen kernel to build. The -xenU kernel is particularly small,
140 as it does not contain any physical device drivers, and hence is
141 only useful for guest domains.
143 To make these two kernels, simply specify
145 KERNELS="linux-2.6-xen0 linux-2.6-xenU"
147 in the make command line.
149 4. To rebuild an existing tree without modifying the config:
150 # make dist
152 This will build and install xen, kernels, tools, and
153 docs into the local dist/ directory.
155 You can override the destination for make install by setting DISTDIR
156 to some value.
158 make install and make dist differ in that make install does the
159 right things for your local machine (installing the appropriate
160 version of hotplug or udev scripts, for example), but make dist
161 includes all versions of those scripts, so that you can copy the dist
162 directory to another machine and install from that distribution.
164 5. To rebuild a kernel with a modified config:
166 # make linux-2.6-xen-config CONFIGMODE=menuconfig (or xconfig)
167 # make linux-2.6-xen-build
168 # make linux-2.6-xen-install
170 Depending on your config, you may need to use 'mkinitrd' to create
171 an initial ram disk, just like a native system e.g.
172 # depmod 2.6.18-xen
173 # mkinitrd -v -f --with=aacraid --with=sd_mod --with=scsi_mod initrd-2.6.18-xen.img 2.6.18-xen
175 Other systems may requires the use of 'mkinitramfs' to create the
176 ram disk.
177 # depmod 2.6.18-xen
178 # mkinitramfs -o initrd-2.6.18-xen.img 2.6.18-xen
181 Python Runtime Libraries
182 ========================
184 Xend (the Xen daemon) has the following runtime dependencies:
186 * Python 2.3 or later.
187 In many distros, the XML-aspects to the standard library
188 (xml.dom.minidom etc) are broken out into a separate python-xml package.
189 This is also required.
191 URL:
192 Debian: python, python-xml
194 * For optional SSL support, pyOpenSSL:
195 URL:
196 Debian: python-pyopenssl
198 * For optional PAM support, PyPAM:
199 URL:
200 Debian: python-pam
202 * For optional XenAPI support in XM, PyXML:
203 URL:
204 YUM: PyXML
207 Intel(R) Trusted Execution Technology Support
208 =============================================
210 Intel's technology for safer computing, Intel(R) Trusted Execution Technology
211 (Intel(R) TXT), defines platform-level enhancements that provide the building
212 blocks for creating trusted platforms. For more information, see
215 Intel(R) TXT support is provided by the Trusted Boot (tboot) module in
216 conjunction with minimal logic in the Xen hypervisor.
218 Tboot is an open source, pre- kernel/VMM module that uses Intel(R) TXT to
219 perform a measured and verified launch of an OS kernel/VMM.
221 The Trusted Boot module is available from
222 This project hosts the code in a
223 mercurial repo at and contains
224 tarballs of the source. Instructions in the tboot README describe how
225 to modify grub.conf to use tboot to launch Xen.
227 There are optional targets as part of Xen's top-level makefile that will
228 downlaod and build tboot: install-tboot, build-tboot, dist-tboot, clean-tboot.
229 These will download the latest tar file from the SourceForge site using wget,
230 then build/install/dist according to Xen's settings.