diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 334 |
1 files changed, 176 insertions, 158 deletions
@@ -1,158 +1,176 @@ -################################ - __ __ _____ ___ - \ \/ /___ _ __ |___ / / _ \ - \ // _ \ '_ \ |_ \| | | | - / \ __/ | | | ___) | |_| | - /_/\_\___|_| |_| |____(_)___/ - -################################ - -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 KERNELS=linux-2.6-xen world - # make install - - It will create and install into the dist/ directory which is the - default install location. 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. - - If you don't specify KERNELS= on the make command line it will - default to building two kernels, vmlinuz-2.6.x-xen0 and - vmlinuz-2.6.x-xenU. These are smaller builds with just selected - modules, intended primarilly for developers that don't like to wait - for a -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. - - 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. - -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 +################################
+ __ __ _____ ___
+ \ \/ /___ _ __ |___ / / _ \
+ \ // _ \ '_ \ |_ \| | | |
+ / \ __/ | | | ___) | |_| |
+ /_/\_\___|_| |_| |____(_)___/
+
+################################
+
+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
|