2006-04-10 17:28:02 +01:00
2006-04-10 17:02:49 +01:00
2006-04-06 18:58:01 +01:00
2006-04-10 17:28:02 +01:00
2006-04-10 17:28:02 +01:00
2006-04-10 16:31:53 +01:00
2006-04-10 17:02:49 +01:00

################################

 __  __            _____  ___  

 \ \/ /___ _ __   |___ / / _ \ 

  \  // _ \ '_ \    |_ \| | | |

  /  \  __/ | | |  ___) | |_| |

 /_/\_\___|_| |_| |____(_)___/ 



################################



http://www.xensource.com/xen/about.html



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 XenSource Inc, a company created

by the original Xen development team to build enterprise products

around Xen.



The 3.0 release offers excellent performance, hardware support and

enterprise-grade features such as x86_32-PAE, x86_64, SMP guests and

live relocation of VMs. This install tree contains source for a Linux

2.6 guest; ports to Linux 2.4, NetBSD, FreeBSD and Solaris will follow

later (and are already available for previous Xen releases).



This file contains some quick-start instructions to install Xen on

your system. For full documentation, see the Xen User Manual. If this

is a pre-built release then you can find the manual at:

 dist/install/usr/share/doc/xen/pdf/user.pdf

If you have a source release, then 'make -C docs' will build the

manual at docs/pdf/user.pdf.



Quick-Start Guide - Pre-Built Binary Release

============================================



[NB. Unless noted otherwise, all the following steps should be

performed with root privileges.]



1. Install the binary distribution onto your filesystem:



    # sh ./install.sh



   Among other things, this will install Xen and Xen-ready Linux

   kernel files in /boot, kernel modules and Python packages in /lib,

   and various control tools in standard 'bin' directories.



2. Configure your bootloader to boot Xen and an initial Linux virtual

   machine. Note that Xen currently only works with GRUB and pxelinux

   derived boot loaders: less common alternatives such as LILO are

   *not* supported. You can most likely find your GRUB menu file at

   /boot/grub/menu.lst: edit this file to include an entry like the

   following:



    title Xen 3.0 / XenLinux 2.6

       kernel /boot/xen-3.0.gz console=vga

       module /boot/vmlinuz-2.6-xen root=<root-dev> ro console=tty0

       module /boot/initrd-2.6-xen.img



   NB: Not all kernel configs need an initial ram disk (initrd), but

   if you do specify one you'll need to use the 'module' grub directive

   rather than 'initrd'.



   The linux command line takes all the usual options, such as

   root=<root-dev> to specify your usual root partition (e.g.,

   /dev/hda1).  



   The Xen command line takes a number of optional arguments described

   in the manual. The most common is 'dom0_mem=xxxM' which sets the

   amount of memory to allocate for use by your initial virtual

   machine (known as domain 0). Note that Xen itself reserves about

   32MB memory for internal use, which is not available for allocation

   to virtual machines.  



3. Reboot your system and select the "Xen 3.0 / XenLinux 2.6" menu

   option. After booting Xen, Linux will start and your initialisation

   scripts should execute in the usual way.



Quick-Start Guide - Source Release

==================================



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 Linux distributor:

    * GCC (preferably v3.2.x or v3.3.x; older versions are unsupported) 

    * GNU Make

    * GNU Binutils

    * Development install of zlib (e.g., zlib-dev)

    * Development install of Python v2.3 or later (e.g., python-dev)

    * bridge-utils package (/sbin/brctl)

    * iproute package (/sbin/ip)

    * hotplug or udev



[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 SCMS

   that is being used (Bitkeeper, scheduled to change shortly).



    # 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).

   The Linux, netbsd and freebsd kernel source trees are in

   the $os-$version-xen-sparse directories.



On Linux:



3. For the very first build, or if you want to destroy existing

   .configs and build trees, perform the following steps:



    # make world

    # make install



   This will create and install onto the local machine. It will build 

   the xen binary (xen.gz), and a linux kernel and modules that can be

   used in both dom0 and an unprivileged guest kernel (vmlinuz-2.6.x-xen),

   the tools and the documentation.



   You can override the destination for make install by setting DESTDIR 

   to some value.



   The make command line defaults to building the kernel vmlinuz-2.6.x-xen. 

   You can override this default by specifying KERNELS=kernelname. For 

   example, you can make two kernels - linux-2.6.16-xen0 

   and linux-2.6.16-xenU - which are smaller builds containing only selected 

   modules, intended primarilly for developers that don't like to wait 

   for a full -xen kernel to build. The -xenU kernel is particularly small,

   as it does not contain any physical device drivers, and hence is

   only useful for guest domains.



   To make these two kernels, simply specify



   KERNELS="linux-2.6.16-xen0 linux-2.6.16-xenU"



   in the make command line.



   If you want to build an x86_32 PAE capable xen and kernel to work

   on machines with >= 4GB of memory, use XEN_TARGET_X86_PAE=y on the

   make command line.



4. To rebuild an existing tree without modifying the config:

    # make dist



   This will build and install xen, kernels, 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 hotplug or 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.



5. To rebuild a kernel with a modified config:



    # make linux-2.6-xen-config CONFIGMODE=menuconfig     (or xconfig)

    # make linux-2.6-xen-build

    # make linux-2.6-xen-install



   Depending on your config, you may need to use 'mkinitrd' to create

   an initial ram disk, just like a native system e.g. 

    # depmod 2.6.12.6-xen

    # mkinitrd -v -f --with=aacraid --with=sd_mod --with=scsi_mod initrd-2.6.12.6-xen.img 2.6.12.6-xen

Languages
C 91.8%
Python 1.7%
Assembly 1.7%
Makefile 1.1%
Shell 1%
Other 2.4%