-################################
- __ __ _____ ___
- \ \/ /___ _ __ |___ / / _ \
- \ // _ \ '_ \ |_ \| | | |
- / \ __/ | | | ___) | |_| |
- /_/\_\___|_| |_| |____(_)___/
-
-################################
-
-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
+################################\r
+ __ __ _____ ___ \r
+ \ \/ /___ _ __ |___ / / _ \ \r
+ \ // _ \ '_ \ |_ \| | | |\r
+ / \ __/ | | | ___) | |_| |\r
+ /_/\_\___|_| |_| |____(_)___/ \r
+\r
+################################\r
+\r
+http://www.xensource.com/xen/about.html\r
+\r
+What is Xen?\r
+============\r
+\r
+Xen is a Virtual Machine Monitor (VMM) originally developed by the\r
+Systems Research Group of the University of Cambridge Computer\r
+Laboratory, as part of the UK-EPSRC funded XenoServers project. Xen\r
+is freely-distributable Open Source software, released under the GNU\r
+GPL. Since its initial public release, Xen has grown a large\r
+development community, spearheaded by XenSource Inc, a company created\r
+by the original Xen development team to build enterprise products\r
+around Xen.\r
+\r
+The 3.0 release offers excellent performance, hardware support and\r
+enterprise-grade features such as x86_32-PAE, x86_64, SMP guests and\r
+live relocation of VMs. This install tree contains source for a Linux\r
+2.6 guest; ports to Linux 2.4, NetBSD, FreeBSD and Solaris will follow\r
+later (and are already available for previous Xen releases).\r
+\r
+This file contains some quick-start instructions to install Xen on\r
+your system. For full documentation, see the Xen User Manual. If this\r
+is a pre-built release then you can find the manual at:\r
+ dist/install/usr/share/doc/xen/pdf/user.pdf\r
+If you have a source release, then 'make -C docs' will build the\r
+manual at docs/pdf/user.pdf.\r
+\r
+Quick-Start Guide - Pre-Built Binary Release\r
+============================================\r
+\r
+[NB. Unless noted otherwise, all the following steps should be\r
+performed with root privileges.]\r
+\r
+1. Install the binary distribution onto your filesystem:\r
+\r
+ # sh ./install.sh\r
+\r
+ Among other things, this will install Xen and Xen-ready Linux\r
+ kernel files in /boot, kernel modules and Python packages in /lib,\r
+ and various control tools in standard 'bin' directories.\r
+\r
+2. Configure your bootloader to boot Xen and an initial Linux virtual\r
+ machine. Note that Xen currently only works with GRUB and pxelinux\r
+ derived boot loaders: less common alternatives such as LILO are\r
+ *not* supported. You can most likely find your GRUB menu file at\r
+ /boot/grub/menu.lst: edit this file to include an entry like the\r
+ following:\r
+\r
+ title Xen 3.0 / XenLinux 2.6\r
+ kernel /boot/xen-3.0.gz console=vga\r
+ module /boot/vmlinuz-2.6-xen root=<root-dev> ro console=tty0\r
+ module /boot/initrd-2.6-xen.img\r
+\r
+ NB: Not all kernel configs need an initial ram disk (initrd), but\r
+ if you do specify one you'll need to use the 'module' grub directive\r
+ rather than 'initrd'.\r
+\r
+ The linux command line takes all the usual options, such as\r
+ root=<root-dev> to specify your usual root partition (e.g.,\r
+ /dev/hda1). \r
+\r
+ The Xen command line takes a number of optional arguments described\r
+ in the manual. The most common is 'dom0_mem=xxxM' which sets the\r
+ amount of memory to allocate for use by your initial virtual\r
+ machine (known as domain 0). Note that Xen itself reserves about\r
+ 32MB memory for internal use, which is not available for allocation\r
+ to virtual machines. \r
+\r
+3. Reboot your system and select the "Xen 3.0 / XenLinux 2.6" menu\r
+ option. After booting Xen, Linux will start and your initialisation\r
+ scripts should execute in the usual way.\r
+\r
+Quick-Start Guide - Source Release\r
+==================================\r
+\r
+First, there are a number of prerequisites for building a Xen source\r
+release. Make sure you have all the following installed, either by\r
+visiting the project webpage or installing a pre-built package\r
+provided by your Linux distributor:\r
+ * GCC (preferably v3.2.x or v3.3.x; older versions are unsupported) \r
+ * GNU Make\r
+ * GNU Binutils\r
+ * Development install of zlib (e.g., zlib-dev)\r
+ * Development install of Python v2.3 or later (e.g., python-dev)\r
+ * bridge-utils package (/sbin/brctl)\r
+ * iproute package (/sbin/ip)\r
+ * hotplug or udev\r
+\r
+[NB. Unless noted otherwise, all the following steps should be\r
+performed with root privileges.]\r
+\r
+1. Download and untar the source tarball file. This will be a\r
+ file named xen-unstable-src.tgz, or xen-$version-src.tgz.\r
+ You can also pull the current version from the SCMS\r
+ that is being used (Bitkeeper, scheduled to change shortly).\r
+\r
+ # tar xzf xen-unstable-src.tgz\r
+\r
+ Assuming you are using the unstable tree, this will\r
+ untar into xen-unstable. The rest of the instructions\r
+ use the unstable tree as an example, substitute the\r
+ version for unstable.\r
+\r
+2. cd to xen-unstable (or whatever you sensibly rename it to).\r
+ The Linux, netbsd and freebsd kernel source trees are in\r
+ the $os-$version-xen-sparse directories.\r
+\r
+On Linux:\r
+\r
+3. For the very first build, or if you want to destroy existing\r
+ .configs and build trees, perform the following steps:\r
+\r
+ # make world\r
+ # make install\r
+\r
+ This will create and install onto the local machine. It will build \r
+ the xen binary (xen.gz), and a linux kernel and modules that can be\r
+ used in both dom0 and an unprivileged guest kernel (vmlinuz-2.6.x-xen),\r
+ the tools and the documentation.\r
+\r
+ You can override the destination for make install by setting DESTDIR \r
+ to some value.\r
+\r
+ The make command line defaults to building the kernel vmlinuz-2.6.x-xen. \r
+ You can override this default by specifying KERNELS=kernelname. For \r
+ example, you can make two kernels - linux-2.6.16-xen0 \r
+ and linux-2.6.16-xenU - which are smaller builds containing only selected \r
+ modules, intended primarilly for developers that don't like to wait \r
+ for a full -xen kernel to build. The -xenU kernel is particularly small,\r
+ as it does not contain any physical device drivers, and hence is\r
+ only useful for guest domains.\r
+\r
+ To make these two kernels, simply specify\r
+\r
+ KERNELS="linux-2.6.16-xen0 linux-2.6.16-xenU"\r
+\r
+ in the make command line.\r
+\r
+ If you want to build an x86_32 PAE capable xen and kernel to work\r
+ on machines with >= 4GB of memory, use XEN_TARGET_X86_PAE=y on the\r
+ make command line.\r
+\r
+4. To rebuild an existing tree without modifying the config:\r
+ # make dist\r
+\r
+ This will build and install xen, kernels, tools, and\r
+ docs into the local dist/ directory. \r
+\r
+ You can override the destination for make install by setting DISTDIR \r
+ to some value.\r
+\r
+ make install and make dist differ in that make install does the \r
+ right things for your local machine (installing the appropriate \r
+ version of hotplug or udev scripts, for example), but make dist \r
+ includes all versions of those scripts, so that you can copy the dist \r
+ directory to another machine and install from that distribution.\r
+\r
+5. To rebuild a kernel with a modified config:\r
+\r
+ # make linux-2.6-xen-config CONFIGMODE=menuconfig (or xconfig)\r
+ # make linux-2.6-xen-build\r
+ # make linux-2.6-xen-install\r
+\r
+ Depending on your config, you may need to use 'mkinitrd' to create\r
+ an initial ram disk, just like a native system e.g. \r
+ # depmod 2.6.12.6-xen\r
+ # mkinitrd -v -f --with=aacraid --with=sd_mod --with=scsi_mod initrd-2.6.12.6-xen.img 2.6.12.6-xen\r