mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
Update paragraph bragging about the features. Also, remove the ".0" from the end of the banner, so we don't have to keep updating it every point release. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
188 lines
7.3 KiB
Plaintext
188 lines
7.3 KiB
Plaintext
#################################
|
|
__ __ _ _ _ _
|
|
\ \/ /___ _ __ | || | | || |
|
|
\ // _ \ '_ \ | || |_| || |_
|
|
/ \ __/ | | | |__ _|__ _|
|
|
/_/\_\___|_| |_| |_|(_) |_|
|
|
|
|
#################################
|
|
|
|
http://www.xen.org/
|
|
|
|
What is Xen?
|
|
============
|
|
|
|
Xen is a Virtual Machine Monitor (VMM) originally developed by the
|
|
Systems Research Group of the University of Cambridge Computer
|
|
Laboratory, as part of the UK-EPSRC funded XenoServers project. Xen
|
|
is freely-distributable Open Source software, released under the GNU
|
|
GPL. Since its initial public release, Xen has grown a large
|
|
development community, spearheaded by xen.org (http://www.xen.org).
|
|
|
|
The 4.4 release offers a number of improvements, including solid
|
|
support for libvirt running on libxl, a new scalable event channel
|
|
interface, improved flexibility for driver domains, an experimental
|
|
"PVH" virtualization mode, improved kexec support, and improved
|
|
support for SPICE clients. Additionally, the ARM platform has had a
|
|
number of improvements. The most important of these is that the
|
|
hypervisor ABIs for both arm32 and arm64 have been declared stable.
|
|
Additionally, many new ARM platforms have been added, and changes have
|
|
been made that will make adding new platforms easier. And as always,
|
|
there are a number of performance, stability, and security
|
|
improvements under-the hood.
|
|
|
|
This file contains some quick-start instructions to install Xen on
|
|
your system. For more information see http:/www.xen.org/ and
|
|
http://wiki.xen.org/
|
|
|
|
Quick-Start Guide
|
|
=================
|
|
|
|
First, there are a number of prerequisites for building a Xen source
|
|
release. Make sure you have all the following installed, either by
|
|
visiting the project webpage or installing a pre-built package
|
|
provided by your OS distributor:
|
|
* GCC v4.1 or later
|
|
* GNU Make
|
|
* GNU Binutils
|
|
* Development install of zlib (e.g., zlib-dev)
|
|
* Development install of Python v2.3 or later (e.g., python-dev)
|
|
* Development install of curses (e.g., libncurses-dev)
|
|
* Development install of openssl (e.g., openssl-dev)
|
|
* Development install of x11 (e.g. xorg-x11-dev)
|
|
* Development install of uuid (e.g. uuid-dev)
|
|
* Development install of yajl (e.g. libyajl-dev)
|
|
* Development install of libaio (e.g. libaio-dev) version 0.3.107 or
|
|
greater.
|
|
* Development install of GLib v2.0 (e.g. libglib2.0-dev)
|
|
* Development install of Pixman (e.g. libpixman-1-dev)
|
|
* pkg-config
|
|
* bridge-utils package (/sbin/brctl)
|
|
* iproute package (/sbin/ip)
|
|
* udev
|
|
* GNU bison and GNU flex
|
|
* GNU gettext
|
|
* 16-bit x86 assembler, loader and compiler (dev86 rpm or bin86 & bcc debs)
|
|
* ACPI ASL compiler (iasl)
|
|
|
|
In addition to the above there are a number of optional build
|
|
prerequisites. Omitting these will cause the related features to be
|
|
disabled at compile time:
|
|
* Development install of Ocaml (e.g. ocaml-nox and
|
|
ocaml-findlib). Required to build ocaml components which
|
|
includes the alternative ocaml xenstored.
|
|
* cmake (if building vtpm stub domains)
|
|
* markdown
|
|
* figlet (for generating the traditional Xen start of day banner)
|
|
|
|
Second, you need to acquire a suitable kernel for use in domain 0. If
|
|
possible you should use a kernel provided by your OS distributor. If
|
|
no suitable kernel is available from your OS distributor then refer to
|
|
http://wiki.xen.org/wiki/XenDom0Kernels for suggestions for
|
|
suitable kernels to use.
|
|
If you are looking to compile a Dom0 kernel from source, please refer to
|
|
http://wiki.xen.org/wiki/XenParavirtOps.
|
|
|
|
[NB. Unless noted otherwise, all the following steps should be
|
|
performed with root privileges.]
|
|
|
|
1. Download and untar the source tarball file. This will be a
|
|
file named xen-unstable-src.tgz, or xen-$version-src.tgz.
|
|
You can also pull the current version from the mercurial
|
|
repository at http://xenbits.xen.org/
|
|
|
|
# tar xzf xen-unstable-src.tgz
|
|
|
|
Assuming you are using the unstable tree, this will
|
|
untar into xen-unstable. The rest of the instructions
|
|
use the unstable tree as an example, substitute the
|
|
version for unstable.
|
|
|
|
2. cd to xen-unstable (or whatever you sensibly rename it to).
|
|
|
|
3. For the very first build, or if you want to destroy build trees,
|
|
perform the following steps:
|
|
|
|
# ./configure
|
|
# make world
|
|
# make install
|
|
|
|
If you want, you can run ./configure --help to see the list of
|
|
options available options when building and installing Xen.
|
|
|
|
This will create and install onto the local machine. It will build
|
|
the xen binary (xen.gz), the tools and the documentation.
|
|
|
|
You can override the destination for make install by setting DESTDIR
|
|
to some value.
|
|
|
|
4. To rebuild an existing tree without modifying the config:
|
|
# make dist
|
|
|
|
This will build and install xen, tools, and docs into the local dist/
|
|
directory.
|
|
|
|
You can override the destination for make install by setting DISTDIR
|
|
to some value.
|
|
|
|
make install and make dist differ in that make install does the
|
|
right things for your local machine (installing the appropriate
|
|
version of udev scripts, for example), but make dist includes all
|
|
versions of those scripts, so that you can copy the dist directory
|
|
to another machine and install from that distribution.
|
|
|
|
Python Runtime Libraries
|
|
========================
|
|
|
|
Xend (the Xen daemon) has the following runtime dependencies:
|
|
|
|
* Python 2.3 or later.
|
|
In some distros, the XML-aspects to the standard library
|
|
(xml.dom.minidom etc) are broken out into a separate python-xml package.
|
|
This is also required.
|
|
In more recent versions of Debian and Ubuntu the XML-aspects are included
|
|
in the base python package however (python-xml has been removed
|
|
from Debian in squeeze and from Ubuntu in intrepid).
|
|
|
|
URL: http://www.python.org/
|
|
Debian: python
|
|
|
|
* For optional SSL support, pyOpenSSL:
|
|
URL: http://pyopenssl.sourceforge.net/
|
|
Debian: python-pyopenssl
|
|
|
|
* For optional PAM support, PyPAM:
|
|
URL: http://www.pangalactic.org/PyPAM/
|
|
Debian: python-pam
|
|
|
|
* For optional XenAPI support in XM, lxml:
|
|
URL: http://lxml.de/
|
|
Debian: python-lxml
|
|
YUM: python-lxml
|
|
|
|
|
|
Intel(R) Trusted Execution Technology Support
|
|
=============================================
|
|
|
|
Intel's technology for safer computing, Intel(R) Trusted Execution Technology
|
|
(Intel(R) TXT), defines platform-level enhancements that provide the building
|
|
blocks for creating trusted platforms. For more information, see
|
|
http://www.intel.com/technology/security/.
|
|
|
|
Intel(R) TXT support is provided by the Trusted Boot (tboot) module in
|
|
conjunction with minimal logic in the Xen hypervisor.
|
|
|
|
Tboot is an open source, pre- kernel/VMM module that uses Intel(R) TXT to
|
|
perform a measured and verified launch of an OS kernel/VMM.
|
|
|
|
The Trusted Boot module is available from
|
|
http://sourceforge.net/projects/tboot. This project hosts the code in a
|
|
mercurial repo at http://tboot.sourceforge.net/hg/tboot.hg and contains
|
|
tarballs of the source. Instructions in the tboot README describe how
|
|
to modify grub.conf to use tboot to launch Xen.
|
|
|
|
There are optional targets as part of Xen's top-level makefile that will
|
|
download and build tboot: install-tboot, build-tboot, dist-tboot, clean-tboot.
|
|
These will download the latest tar file from the SourceForge site using wget,
|
|
then build/install/dist according to Xen's settings.
|