]> xenbits.xensource.com Git - people/vhanquez/xen.git/commitdiff
Updated to reflect new KERNELS defaults, and properly describe make install and
authoremellor@leeni.uk.xensource.com <emellor@leeni.uk.xensource.com>
Tue, 11 Apr 2006 11:50:46 +0000 (12:50 +0100)
committeremellor@leeni.uk.xensource.com <emellor@leeni.uk.xensource.com>
Tue, 11 Apr 2006 11:50:46 +0000 (12:50 +0100)
make dist.

README

diff --git a/README b/README
index 34ee02040c28b61f14ebf73d87b7c3449165f576..b3ab351f52bb6b64467d93737b19a14ed5d7be36 100644 (file)
--- a/README
+++ b/README
-################################
- __  __            _____  ___  
- \ \/ /___ _ __   |___ / / _ \ 
-  \  // _ \ '_ \    |_ \| | | |
-  /  \  __/ | | |  ___) | |_| |
- /_/\_\___|_| |_| |____(_)___/ 
-
-################################
-
-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