view README @ 19996:ad5a697d701a

blktap2: Remove set() for Python 2.3

Signed-off-by: KUWAMURA Shin'ya <>
Acked-by: Ian Jackson <>
author Keir Fraser <>
date Mon Jul 20 10:08:12 2009 +0100 (2009-07-20)
parents 9890a1e5b6ab
children 809b20f066fb b928797213ac
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.4 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. Ports to Linux 2.6, Linux 2.4, NetBSD, FreeBSD
27 and Solaris are available from the community.
29 This file contains some quick-start instructions to install Xen on
30 your system. For full documentation, see the Xen User Manual. If this
31 is a pre-built release then you can find the manual at:
32 dist/install/usr/share/doc/xen/pdf/user.pdf
33 If you have a source release, then 'make -C docs' will build the
34 manual at docs/pdf/user.pdf.
36 Quick-Start Guide - Pre-Built Binary Release
37 ============================================
39 [NB. Unless noted otherwise, all the following steps should be
40 performed with root privileges.]
42 1. Install the binary distribution onto your filesystem:
44 # sh ./
46 Among other things, this will install Xen and Xen-ready Linux
47 kernel files in /boot, kernel modules and Python packages in /lib,
48 and various control tools in standard 'bin' directories.
50 2. Configure your bootloader to boot Xen and an initial Linux virtual
51 machine. Note that Xen currently only works with GRUB and pxelinux
52 derived boot loaders: less common alternatives such as LILO are
53 *not* supported. You can most likely find your GRUB menu file at
54 /boot/grub/menu.lst: edit this file to include an entry like the
55 following:
57 title Xen 3.4 / XenLinux 2.6
58 kernel /boot/xen-3.4.gz console=vga
59 module /boot/vmlinuz-2.6-xen root=<root-dev> ro console=tty0
60 module /boot/initrd-2.6-xen.img
62 NB: Not all kernel configs need an initial ram disk (initrd), but
63 if you do specify one you'll need to use the 'module' grub directive
64 rather than 'initrd'.
66 The linux command line takes all the usual options, such as
67 root=<root-dev> to specify your usual root partition (e.g.,
68 /dev/hda1).
70 The Xen command line takes a number of optional arguments described
71 in the manual. The most common is 'dom0_mem=xxxM' which sets the
72 amount of memory to allocate for use by your initial virtual
73 machine (known as domain 0). Note that Xen itself reserves about
74 32MB memory for internal use, which is not available for allocation
75 to virtual machines.
77 3. Reboot your system and select the "Xen 3.4 / XenLinux 2.6" menu
78 option. After booting Xen, Linux will start and your initialisation
79 scripts should execute in the usual way.
81 Quick-Start Guide - Source Release
82 ==================================
84 First, there are a number of prerequisites for building a Xen source
85 release. Make sure you have all the following installed, either by
86 visiting the project webpage or installing a pre-built package
87 provided by your Linux distributor:
88 * GCC v3.4 or later
89 * GNU Make
90 * GNU Binutils
91 * Development install of zlib (e.g., zlib-dev)
92 * Development install of Python v2.3 or later (e.g., python-dev)
93 * Development install of curses (e.g., libncurses-dev)
94 * Development install of openssl (e.g., openssl-dev)
95 * Development install of x11 (e.g. xorg-x11-dev)
96 * bridge-utils package (/sbin/brctl)
97 * iproute package (/sbin/ip)
98 * hotplug or udev
100 [NB. Unless noted otherwise, all the following steps should be
101 performed with root privileges.]
103 1. Download and untar the source tarball file. This will be a
104 file named xen-unstable-src.tgz, or xen-$version-src.tgz.
105 You can also pull the current version from the mercurial
106 repository at
108 # tar xzf xen-unstable-src.tgz
110 Assuming you are using the unstable tree, this will
111 untar into xen-unstable. The rest of the instructions
112 use the unstable tree as an example, substitute the
113 version for unstable.
115 2. cd to xen-unstable (or whatever you sensibly rename it to).
117 On Linux:
119 3. For the very first build, or if you want to destroy existing
120 .configs and build trees, perform the following steps:
122 # make world
123 # make install
125 This will create and install onto the local machine. It will build
126 the xen binary (xen.gz), and a linux kernel and modules that can be
127 used in both dom0 and an unprivileged guest kernel (vmlinuz-2.6.x-xen),
128 the tools and the documentation.
130 You can override the destination for make install by setting DESTDIR
131 to some value.
133 The make command line defaults to building the kernel vmlinuz-2.6.x-xen.
134 You can override this default by specifying KERNELS=kernelname. For
135 example, you can make two kernels - linux-2.6-xen0
136 and linux-2.6-xenU - which are smaller builds containing only selected
137 modules, intended primarily for developers that don't like to wait
138 for a full -xen kernel to build. The -xenU kernel is particularly small,
139 as it does not contain any physical device drivers, and hence is
140 only useful for guest domains.
142 To make these two kernels, simply specify
144 KERNELS="linux-2.6-xen0 linux-2.6-xenU"
146 in the make command line.
148 4. To rebuild an existing tree without modifying the config:
149 # make dist
151 This will build and install xen, kernels, tools, and
152 docs into the local dist/ directory.
154 You can override the destination for make install by setting DISTDIR
155 to some value.
157 make install and make dist differ in that make install does the
158 right things for your local machine (installing the appropriate
159 version of hotplug or udev scripts, for example), but make dist
160 includes all versions of those scripts, so that you can copy the dist
161 directory to another machine and install from that distribution.
163 5. To rebuild a kernel with a modified config:
165 # make linux-2.6-xen-config CONFIGMODE=menuconfig (or xconfig)
166 # make linux-2.6-xen-build
167 # make linux-2.6-xen-install
169 Depending on your config, you may need to use 'mkinitrd' to create
170 an initial ram disk, just like a native system e.g.
171 # depmod 2.6.18-xen
172 # mkinitrd -v -f --with=aacraid --with=sd_mod --with=scsi_mod initrd-2.6.18-xen.img 2.6.18-xen
174 Other systems may requires the use of 'mkinitramfs' to create the
175 ram disk.
176 # depmod 2.6.18-xen
177 # mkinitramfs -o initrd-2.6.18-xen.img 2.6.18-xen
180 Python Runtime Libraries
181 ========================
183 Xend (the Xen daemon) has the following runtime dependencies:
185 * Python 2.3 or later.
186 In many distros, the XML-aspects to the standard library
187 (xml.dom.minidom etc) are broken out into a separate python-xml package.
188 This is also required.
190 URL:
191 Debian: python, python-xml
193 * For optional SSL support, pyOpenSSL:
194 URL:
195 Debian: python-pyopenssl
197 * For optional PAM support, PyPAM:
198 URL:
199 Debian: python-pam
201 * For optional XenAPI support in XM, PyXML:
202 URL:
203 YUM: PyXML
206 Intel(R) Trusted Execution Technology Support
207 =============================================
209 Intel's technology for safer computing, Intel(R) Trusted Execution Technology
210 (Intel(R) TXT), defines platform-level enhancements that provide the building
211 blocks for creating trusted platforms. For more information, see
214 Intel(R) TXT support is provided by the Trusted Boot (tboot) module in
215 conjunction with minimal logic in the Xen hypervisor.
217 Tboot is an open source, pre- kernel/VMM module that uses Intel(R) TXT to
218 perform a measured and verified launch of an OS kernel/VMM.
220 The Trusted Boot module is available from
221 This project hosts the code in a
222 mercurial repo at and contains
223 tarballs of the source. Instructions in the tboot README describe how
224 to modify grub.conf to use tboot to launch Xen.
226 There are optional targets as part of Xen's top-level makefile that will
227 download and build tboot: install-tboot, build-tboot, dist-tboot, clean-tboot.
228 These will download the latest tar file from the SourceForge site using wget,
229 then build/install/dist according to Xen's settings.