xref: /xen/
NameDateSize

..16-Mar-201612 KiB

.bk-to-hg29-Dec-201217

.gitignore19-Oct-20158.1 KiB

.hg-to-bk29-Dec-201217

.hgignore02-Feb-20158.8 KiB

.hgsigs29-Dec-20124.6 KiB

.rootkeys29-Dec-2012107.5 KiB

autogen.sh07-Jul-2014120

CODING_STYLE29-Dec-20123 KiB

config/19-Oct-20154 KiB

config.guess17-Mar-201443.8 KiB

Config.mk14-Dec-20159.7 KiB

config.sub17-Mar-201434.7 KiB

configure25-Sep-201595.9 KiB

configure.ac10-Sep-20141 KiB

COPYING07-Aug-201519.3 KiB

CREDITS05-Mar-2013484

docs/28-Sep-20154 KiB

INSTALL30-Nov-201511.9 KiB

install.sh13-Oct-2014658

m4/25-Sep-20154 KiB

MAINTAINERS14-Dec-201511.4 KiB

Makefile28-Sep-20158.8 KiB

misc/17-Mar-20144 KiB

README19-Oct-20158 KiB

scripts/30-Nov-20154 KiB

stubdom/25-Sep-20154 KiB

tools/09-Nov-20154 KiB

unmodified_drivers/25-Aug-20124 KiB

version.sh29-Dec-2012175

xen/14-Dec-20154 KiB

README

1#################################
2__  __            _  _   _____                     _        _     _
3\ \/ /___ _ __   | || | |___  |    _   _ _ __  ___| |_ __ _| |__ | | ___
4 \  // _ \ '_ \  | || |_   / /____| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
5 /  \  __/ | | | |__   _| / /_____| |_| | | | \__ \ || (_| | |_) | |  __/
6/_/\_\___|_| |_|    |_|(_)_/       \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
7
8#################################
9
10http://www.xen.org/
11
12What is Xen?
13============
14
15Xen is a Virtual Machine Monitor (VMM) originally developed by the
16Systems Research Group of the University of Cambridge Computer
17Laboratory, as part of the UK-EPSRC funded XenoServers project.  Xen
18is freely-distributable Open Source software, released under the GNU
19GPL. Since its initial public release, Xen has grown a large
20development community, spearheaded by xen.org (http://www.xen.org).
21
22This file contains some quick-start instructions to install Xen on
23your system. For more information see http:/www.xen.org/ and
24http://wiki.xen.org/
25
26Quick-Start Guide
27=================
28
29First, this is just a quick-start guide. For more comprehensive
30information see the INSTALL file and the Xen wiki at
31http://wiki.xenproject.org and in particular
32http://wiki.xenproject.org/wiki/Getting_Started.
33
34Second, there are a number of prerequisites for building a Xen source
35release. Make sure you have all the following installed, either by
36visiting the project webpage or installing a pre-built package
37provided by your OS distributor:
38    * GCC v4.1 or later
39    * GNU Make
40    * GNU Binutils
41    * Development install of zlib (e.g., zlib-dev)
42    * Development install of Python v2.3 or later (e.g., python-dev)
43    * Development install of curses (e.g., libncurses-dev)
44    * Development install of openssl (e.g., openssl-dev)
45    * Development install of x11 (e.g. xorg-x11-dev)
46    * Development install of uuid (e.g. uuid-dev)
47    * Development install of yajl (e.g. libyajl-dev)
48    * Development install of libaio (e.g. libaio-dev) version 0.3.107 or
49      greater.
50    * Development install of GLib v2.0 (e.g. libglib2.0-dev)
51    * Development install of Pixman (e.g. libpixman-1-dev)
52    * pkg-config
53    * bridge-utils package (/sbin/brctl)
54    * iproute package (/sbin/ip)
55    * GNU bison and GNU flex
56    * GNU gettext
57    * 16-bit x86 assembler, loader and compiler (dev86 rpm or bin86 & bcc debs)
58    * ACPI ASL compiler (iasl)
59    * Libc multiarch package (e.g. libc6-dev-i386 / glibc-devel.i686).
60      Required when building on a 64-bit platform to build
61      32-bit components which are enabled on a default build.
62
63In addition to the above there are a number of optional build
64prerequisites. Omitting these will cause the related features to be
65disabled at compile time:
66    * Development install of Ocaml (e.g. ocaml-nox and
67      ocaml-findlib). Required to build ocaml components which
68      includes the alternative ocaml xenstored.
69    * cmake (if building vtpm stub domains)
70    * markdown
71    * figlet (for generating the traditional Xen start of day banner)
72    * systemd daemon development files
73    * Development install of libnl3 (e.g., libnl-3-200,
74      libnl-3-dev, etc).  Required if network buffering is desired
75      when using Remus with libxl.  See docs/README.remus for detailed
76      information.
77
78Second, you need to acquire a suitable kernel for use in domain 0. If
79possible you should use a kernel provided by your OS distributor. If
80no suitable kernel is available from your OS distributor then refer to
81http://wiki.xen.org/wiki/XenDom0Kernels for suggestions for
82suitable kernels to use.
83If you are looking to compile a Dom0 kernel from source, please refer to
84http://wiki.xen.org/wiki/XenParavirtOps.
85
86[NB. Unless noted otherwise, all the following steps should be
87performed with root privileges.]
88
891. Download and untar the source tarball file. This will be a
90   file named xen-unstable-src.tgz, or xen-$version-src.tgz.
91   You can also pull the current version from the git or mercurial
92   repositories at http://xenbits.xen.org/
93
94    # tar xzf xen-unstable-src.tgz
95
96   Assuming you are using the unstable tree, this will
97   untar into xen-unstable. The rest of the instructions
98   use the unstable tree as an example, substitute the
99   version for unstable.
100
1012. cd to xen-unstable (or whatever you sensibly rename it to).
102
1033. For the very first build, or if you want to destroy build trees,
104   perform the following steps:
105
106    # ./configure
107    # make world
108    # make install
109
110   See the documentation in the INSTALL file for more info.
111
112   This will create and install onto the local machine. It will build
113   the xen binary (xen.gz), the tools and the documentation.
114
115   You can override the destination for make install by setting DESTDIR
116   to some value.
117
1184. To rebuild an existing tree without modifying the config:
119    # make dist
120
121   This will build and install xen, tools, and docs into the local dist/
122   directory.
123
124   You can override the destination for make install by setting DISTDIR
125   to some value.
126
127   make install and make dist differ in that make install does the
128   right things for your local machine (installing the appropriate
129   version of udev scripts, for example), but make dist includes all
130   versions of those scripts, so that you can copy the dist directory
131   to another machine and install from that distribution.
132
133xenstore: xenstored and oxenstored
134====================================
135
136Xen uses a configuration database called xenstore [0] to maintain configuration
137and status information shared between domains. A daemon is implemented as part
138of xenstore to act as an interface for access to the database for dom0 and
139guests. Two xenstored daemons are supported, one written in C which we refer
140to as the xenstored (sometimes referred to as cxenstored), and another written
141in Ocaml called oxenstored. Details for xenstore and the different
142implementations can be found on the wiki's xenstore reference guide [1] and
143the xenstored [2] page. You can choose which xenstore you want to enable as
144default on a system through configure:
145
146	./configure --with-xenstored=xenstored
147	./configure --with-xenstored=oxenstored
148
149By default oxenstored will be used if the ocaml development tools are found.
150If you enable oxenstored the xenstored will still be built and installed,
151the xenstored used can be changed through the configuration file:
152
153/etc/sysconfig/xencommons
154or
155/etc/default/xencommons
156
157You can change the preferred xenstored you want to use in the configuration
158but since we cannot stop the daemon a reboot will be required to make the
159change take effect.
160
161[0] http://wiki.xen.org/wiki/XenStore
162[1] http://wiki.xen.org/wiki/XenStoreReference
163[2] http://wiki.xen.org/wiki/Xenstored
164
165Python Runtime Libraries
166========================
167
168Various tools, such as pygrub, have the following runtime dependencies:
169
170    * Python 2.3 or later.
171          URL:    http://www.python.org/
172          Debian: python
173
174Intel(R) Trusted Execution Technology Support
175=============================================
176
177Intel's technology for safer computing, Intel(R) Trusted Execution Technology
178(Intel(R) TXT), defines platform-level enhancements that provide the building
179blocks for creating trusted platforms.  For more information, see
180http://www.intel.com/technology/security/.
181
182Intel(R) TXT support is provided by the Trusted Boot (tboot) module in
183conjunction with minimal logic in the Xen hypervisor.
184
185Tboot is an open source, pre- kernel/VMM module that uses Intel(R) TXT to
186perform a measured and verified launch of an OS kernel/VMM.
187
188The Trusted Boot module is available from
189http://sourceforge.net/projects/tboot.  This project hosts the code in a
190mercurial repo at http://tboot.sourceforge.net/hg/tboot.hg and contains
191tarballs of the source.  Instructions in the tboot README describe how
192to modify grub.conf to use tboot to launch Xen.
193
194There are optional targets as part of Xen's top-level makefile that will
195download and build tboot: install-tboot, build-tboot, dist-tboot, clean-tboot.
196These will download the latest tar file from the SourceForge site using wget,
197then build/install/dist according to Xen's settings.
198