ia64/xen-unstable

changeset 920:7fa999639eb7

bitkeeper revision 1.584 (3fafbf81K3M7-GDJhS0e3H2k3t8jNg)

Xeno-HOWTO covering step by step instructions for setting up Xen and XenoLinux.
author br260@laudney.cl.cam.ac.uk
date Mon Nov 10 16:40:33 2003 +0000 (2003-11-10)
parents bf67cb428fa7
children e2a517ef1be8
files .rootkeys docs/Xeno-HOWTO
line diff
     1.1 --- a/.rootkeys	Mon Nov 10 16:36:15 2003 +0000
     1.2 +++ b/.rootkeys	Mon Nov 10 16:40:33 2003 +0000
     1.3 @@ -7,6 +7,7 @@ 3f5ef5a24IaQasQE2tyMxrfxskMmvw README
     1.4  3f5ef5a2l4kfBYSQTUaOyyD76WROZQ README.CD
     1.5  3f69d8abYB1vMyD_QVDvzxy5Zscf1A TODO
     1.6  3f9e7d53iC47UnlfORp9iC1vai6kWw docs/Makefile
     1.7 +3fafbf11blCNItRsHe0UHwyu5CCDkw docs/Xeno-HOWTO
     1.8  3f9e7d60PWZJeVh5xdnk0nLUdxlqEA docs/eps/xenlogo.eps
     1.9  3f9e7d63lTwQbp2fnx7yY93epWS-eQ docs/figs/dummy
    1.10  3f9e7d564bWFB-Czjv1qdmE6o0GqNg docs/interface.tex
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/docs/Xeno-HOWTO	Mon Nov 10 16:40:33 2003 +0000
     2.3 @@ -0,0 +1,205 @@
     2.4 +###########################################
     2.5 +Xeno HOWTO
     2.6 +
     2.7 +University of Cambridge Computer Laboratory
     2.8 +
     2.9 +http://www.cl.cam.ac.uk/netos/xen
    2.10 +#############################
    2.11 +
    2.12 +
    2.13 +Get Xeno Source Codes
    2.14 +==========================
    2.15 +
    2.16 +The public master BK repository for the 1.1 release lives at:
    2.17 +'bk://xen.bkbits.net/xeno-1.1.bk'
    2.18 +
    2.19 +To fetch a local copy, first download the BitKeeper tools at:
    2.20 +http://www.bitmover.com/download with username 'bitkeeper' and
    2.21 +password 'get bitkeeper'.
    2.22 +
    2.23 +Then install it and run:
    2.24 +# cd /
    2.25 +# bk clone bk://xen.bkbits.net/xeno-1.1.bk
    2.26 +
    2.27 +Under your current directory, a new directory named 'xeno-1.1.bk' has
    2.28 +been created, which contains all the source codes for Xen and
    2.29 +XenoLinux. Here we suppose you put it under '/'.
    2.30 +
    2.31 +To get newest changes to the repository, run
    2.32 +# cd /xeno-1.1.bk
    2.33 +# bk pull
    2.34 +
    2.35 +
    2.36 +Build Xen
    2.37 +=============================
    2.38 +
    2.39 +Hint: To see how to build Xen and all the control tools, inspect the
    2.40 +tools/misc/xen-clone script in the BK repository. This script can be
    2.41 +used to clone the repostitory and perform a full build.
    2.42 +
    2.43 +To build Xen manually:
    2.44 +
    2.45 +# cd /xeno-1.1.bk/xen
    2.46 +# make clean
    2.47 +# make
    2.48 +
    2.49 +This will (should) produce a file called 'image' in the current
    2.50 +directory.  This is the ELF 32-bit LSB executable file of Xen.  You
    2.51 +can also find a gzip version, named 'image.gz'.
    2.52 +
    2.53 +Hint: There is a 'make install' rule which also and then copies it to
    2.54 +../../install ; if this suits your setup, go for it.
    2.55 +
    2.56 +
    2.57 +Build XenoLinux
    2.58 +==============================
    2.59 +
    2.60 +This is a little more involved since the repository only contains a
    2.61 +"sparse" tree -- this is essentially an 'overlay' on a standard linux
    2.62 +kernel source tree. It contains only those files currently 'in play'
    2.63 +which are either modified versions of files in the vanilla linux tree,
    2.64 +or brand new files specific to XenoLinux.
    2.65 +
    2.66 +So, first you need a vanilla linux-2.4.22 tree, which is located at:
    2.67 +http://www.kernel.org/pub/linux/kernel/v2.4
    2.68 +
    2.69 +Then:
    2.70 +  # mv linux-2.4.22.tar.gz /xeno-1.1.bk
    2.71 +  # cd /xeno-1.1.bk
    2.72 +  # tar -zxvf linux-2.4.22.tar.gz
    2.73 +
    2.74 +You'll find a new directory 'linux-2.4.22' which contains all
    2.75 +the vanilla Linux 2.4.22 kernel source codes.
    2.76 +
    2.77 +Hint: You should choose the vanilla linux kernel tree that has the
    2.78 +same version as the "sparse" tree.
    2.79 +
    2.80 +Next, you need to 'overlay' this sparse tree on the full vanilla Linux
    2.81 +kernel tree:
    2.82 +
    2.83 +  # cd /xeno-1.1.bk/xenolinux-2.4.22-sparse
    2.84 +  # ./mkbuildtree ../linux-2.4.22
    2.85 +
    2.86 +Finally, rename the buildtree since it is now a xenolinux buildtree. 
    2.87 +
    2.88 +  # cd /xeno-1.1.bk
    2.89 +  # mv linux-2.4.22 xenolinux-2.4.22
    2.90 +
    2.91 +Now that the buildtree is there, you can build the xenolinux kernel. 
    2.92 +
    2.93 +  # cd /xeno-1.1.bk/xenolinux-2.4.22
    2.94 +  # ARCH=xeno make xconfig   { or menuconfig, or oldconfig, or config }  
    2.95 +  # ARCH=xeno make dep bzImage
    2.96 +
    2.97 +Assuming the build works, you'll end up with
    2.98 +/xeno-1.1.bk/xenolinux-2.4.22/arch/xeno/boot/image.gz
    2.99 +This is the gzip version of XenoLinux kernel image.
   2.100 +
   2.101 +
   2.102 +Build the Domain Control Tools
   2.103 +==============================
   2.104 +
   2.105 +Under '/xeno-1.1.bk/tools', there are four sub-directories:
   2.106 +'balloon', 'control', 'internal' and 'misc', each containing
   2.107 +a group of tools. You can enter any of the four sub-directories
   2.108 +and type 'make' to compile the corresponding group of tools.
   2.109 +Or you can type 'make' under '/xeno-1.1.bk/tools' to compile
   2.110 +all the tools.
   2.111 +
   2.112 +Particularly, in order to compile tools under 'control', you
   2.113 +must have Apache Ant installed. Latest binary can be found at
   2.114 +'http://ant.apache.org/bindownload.cgi'. Besides, the Java
   2.115 +codes under 'control' are quite broken. You may encounter
   2.116 +compilation errors. For now, it's wise to skip 'control'.
   2.117 +
   2.118 +To summarize:
   2.119 +
   2.120 +# cd /xeno-1.1.bk/tools/balloon
   2.121 +# make
   2.122 +# make install
   2.123 +# cd /xeno-1.1.bk/tools/internal
   2.124 +# make
   2.125 +# make install
   2.126 +# cd /xeno-1.1.bk/tools/misc
   2.127 +# make
   2.128 +# make install
   2.129 +# cd /install/bin
   2.130 +# cp * /usr/local/bin
   2.131 +
   2.132 +
   2.133 +Installation
   2.134 +==============================
   2.135 +
   2.136 +First:
   2.137 +# cp /xen-1.1.bk/xen/image.gz /boot/xen.gz
   2.138 +# cp /xen-1.1.bk/xenolinux-2.4.22/arch/xeno/boot/image.gz /boot/xenolinux.gz
   2.139 +
   2.140 +Second, you must have 'GNU Grub' installed. Then you need to edit
   2.141 +the Grub configuration file '/boot/grub/menu.lst'.
   2.142 +
   2.143 +A typical Grub menu option might look like:
   2.144 +
   2.145 +title Xen / XenoLinux 2.4.22
   2.146 +        kernel /boot/xen.gz dom0_mem=131072 ser_baud=115200 noht
   2.147 +        module /boot/xenolinux.gz root=/dev/sda4 ro console=tty0
   2.148 +
   2.149 +The first line specifies which Xen image to use, and what command line
   2.150 +arguments to pass to Xen. In this case we set the maximum amount of
   2.151 +memory to allocate to domain0, and enable serial I/O at 115200 baud.
   2.152 +We could also disable smp support (nosmp) or disable hyper-threading
   2.153 +support (noht). If you have multiple network interface you can use
   2.154 +ifname=ethXX to select which one to use. If your network card is
   2.155 +unsupported, use ifname=dummy
   2.156 +
   2.157 +The second line specifies which XenoLinux image to use, and the
   2.158 +standard linux command line arguments to pass to the kernel. In this
   2.159 +case, we're configuring the root partition and stating that it should
   2.160 +be mounted read-only (normal practice). 
   2.161 +
   2.162 +The following is a list of command line arguments to pass to Xen:
   2.163 +
   2.164 + ignorebiostables Disable parsing of BIOS-supplied tables. This may
   2.165 +                  help with some chipsets that aren't fully supported
   2.166 +                  by Xen. If you specify this option then ACPI tables are
   2.167 +                  also ignored, and SMP support is disabled.
   2.168 +
   2.169 + noreboot         Don't reboot the machine automatically on errors.
   2.170 +                  This is useful to catch debug output if you aren't
   2.171 +                  catching console messages via the serial line.
   2.172 +
   2.173 + nosmp            Disable SMP support.
   2.174 +                  This option is implied by 'ignorebiostables'.
   2.175 +
   2.176 + noacpi           Disable ACPI tables, which confuse Xen on some chipsets.
   2.177 +                  This option is implied by 'ignorebiostables'.
   2.178 +
   2.179 + watchdog         Enable NMI watchdog which can report certain failures.
   2.180 +
   2.181 + noht             Disable Hyperthreading.
   2.182 +
   2.183 + ifname=ethXX     Select which Ethernet interface to use.
   2.184 +
   2.185 + ifname=dummy     Don't use any network interface.
   2.186 +
   2.187 + ser_baud=xxx     Enable serial I/O and set the baud rate.
   2.188 +
   2.189 + dom0_mem=xxx     Set the maximum amount of memory for domain0.
   2.190 +
   2.191 +
   2.192 +Boot into Domain 0
   2.193 +==============================
   2.194 +
   2.195 +Reboot your computer; After selecting the kernel to boot, stand back and watch Xen boot, closely followed by "domain 0" running the XenoLinux kernel.  Depending on which root partition you have assigned to XenoLinux kernel in Grub configuration file, you can use the corresponding username / password
   2.196 +to log in.
   2.197 +
   2.198 +Once logged in, it should look just like any regular linux box. All
   2.199 +the usual tools and commands should work as per usual.
   2.200 +
   2.201 +
   2.202 +Using the domain control tools
   2.203 +==============================
   2.204 +
   2.205 +The README.CD file contains some examples of how to use 'xenctl' and
   2.206 +the other domain control tools. Invoking the tool without any
   2.207 +arguments prints some usage inforamtion. There's also some
   2.208 +documentation in the the repository under tools/control/doc