ia64/xen-unstable

changeset 2671:3a1793ba6859

bitkeeper revision 1.1159.117.3 (4176d4db4B8f6DxjFbfiQrLocijsqQ)

Doc updates.
author cl349@freefall.cl.cam.ac.uk
date Wed Oct 20 21:12:59 2004 +0000 (2004-10-20)
parents 03612420798a
children 1cec0bdb4c6f
files docs/user.tex
line diff
     1.1 --- a/docs/user.tex	Wed Oct 20 17:36:22 2004 +0000
     1.2 +++ b/docs/user.tex	Wed Oct 20 21:12:59 2004 +0000
     1.3 @@ -76,29 +76,28 @@ Xen support is available for increasingl
     1.4  following OSs have either been ported already or a port is in
     1.5  progress:
     1.6  \begin{itemize}
     1.7 -\item Dragonfly BSD
     1.8 -\item FreeBSD 5.3
     1.9  \item Linux 2.4
    1.10  \item Linux 2.6
    1.11  \item NetBSD 2.0
    1.12 +\item Dragonfly BSD
    1.13 +\item FreeBSD 5.3
    1.14  \item Plan 9
    1.15 -\item Windows XP
    1.16 +% \item Windows XP
    1.17  \end{itemize}
    1.18  
    1.19 -Right now, Linux 2.4 and 2.6 are available for Xen 2.0.  NetBSD
    1.20 -port will be updated to run on Xen 2.0, hopefully in time for the NetBSD
    1.21 -2.0 release.  It is intended that Xen support be integrated into the
    1.22 -official releases of Linux 2.6, NetBSD 2.0, FreeBSD and Dragonfly BSD.
    1.23 +Right now, Linux 2.4, Linux 2.6 and NetBSD are available for Xen 2.0.
    1.24 +It is intended that Xen support be integrated into the official
    1.25 +releases of Linux 2.6, NetBSD 2.0, FreeBSD and Dragonfly BSD.
    1.26  
    1.27  Even running multiple copies of Linux can be very useful, providing a
    1.28  means of containing faults to one OS image, providing performance
    1.29  isolation between the various OS instances and trying out multiple
    1.30  distros.
    1.31  
    1.32 -The Windows XP port is only available to those who have signed the
    1.33 -Microsoft Academic Source License.  Publically available XP support
    1.34 -will not be available for the foreseeable future (this may change when
    1.35 -Intel's Vanderpool Technology becomes available).
    1.36 +% The Windows XP port is only available to those who have signed the
    1.37 +% Microsoft Academic Source License.  Publically available XP support
    1.38 +% will not be available for the foreseeable future (this may change when
    1.39 +% Intel's Vanderpool Technology becomes available).
    1.40  
    1.41  Possible usage scenarios for Xen include:
    1.42  \begin{description}
    1.43 @@ -170,19 +169,12 @@ at:\\
    1.44  {\tt http://www.cl.cam.ac.uk/netos/papers/2003-xensosp.pdf}\\
    1.45  Work to port Xen to x86\_64 and IA64 is currently underway.
    1.46  
    1.47 -Xen is targeted at server-class machines, and the current list of
    1.48 -supported hardware very much reflects this, avoiding the need for us
    1.49 -to write drivers for "legacy" hardware. It is likely that some desktop
    1.50 -chipsets will fail to work properly with the default Xen
    1.51 -configuration: specifying {\tt noacpi} or {\tt ignorebiostables} when
    1.52 -booting Xen may help in these cases.
    1.53 -
    1.54  Xen requires a ``P6'' or newer processor (e.g. Pentium Pro, Celeron,
    1.55  Pentium II, Pentium III, Pentium IV, Xeon, AMD Athlon, AMD Duron).
    1.56  Multiprocessor machines are supported, and we also have basic support
    1.57  for HyperThreading (SMT), although this remains a topic for ongoing
    1.58 -research. We're also working on an x86\_64 port (though Xen should
    1.59 -already run on these systems just fine in 32-bit mode).
    1.60 +research.  We're also working on an x86\_64 port (though Xen already
    1.61 +runs on these systems just fine in 32-bit mode).
    1.62  
    1.63  Xen can currently use up to 4GB of memory.  It is possible for x86
    1.64  machines to address up to 64GB of physical memory but (unless an
    1.65 @@ -190,13 +182,16 @@ external developer volunteers) there are
    1.66  systems.  The x86\_64 port is the planned route to supporting more
    1.67  than 4GB of memory.
    1.68  
    1.69 -In contrast to previous Xen versions, in Xen 2.0 device drivers run
    1.70 -within a privileged guest OS rather than within Xen itself. This means
    1.71 -that we should be compatible with the majority of device hardware
    1.72 -supported by Linux.  The default XenLinux build contains support for
    1.73 -relatively modern server-class network and disk hardware, but you can
    1.74 -add support for other hardware by configuring your XenLinux kernel in
    1.75 -the normal way (e.g. \verb_# make ARCH=xen xconfig_).
    1.76 +Xen offloads most of the hardware support issues to the guest OS
    1.77 +running in Domain 0.  Xen itself only contains code to detect and
    1.78 +start additional processors, setup interrupt routing and perform PCI
    1.79 +bus enumeration.  Device drivers run within a privileged guest OS
    1.80 +rather than within Xen itself.  This means that we should be
    1.81 +compatible with the majority of device hardware supported by Linux.
    1.82 +The default XenLinux build contains support for relatively modern
    1.83 +server-class network and disk hardware, but you can add support for
    1.84 +other hardware by configuring your XenLinux kernel in the normal way
    1.85 +(e.g. \verb_# make ARCH=xen menuconfig_).
    1.86  
    1.87  \section{History}
    1.88  
    1.89 @@ -218,9 +213,9 @@ Xen has since grown into a project in it
    1.90  investigate interesting research issues regarding the best techniques
    1.91  for virtualizing resources such as the CPU, memory, disk and network.
    1.92  The project has been bolstered by support from Intel Research
    1.93 -Cambridge, and HP Labs, who are now working closely with us. We're
    1.94 -also in receipt of support from Microsoft Research Cambridge to port
    1.95 -Windows XP to run on Xen.
    1.96 +Cambridge, and HP Labs, who are now working closely with us.
    1.97 +% We're also in receipt of support from Microsoft Research Cambridge to
    1.98 +% port Windows XP to run on Xen.
    1.99  
   1.100  Xen was first described in the 2003 paper at SOSP \\
   1.101  ({\tt http://www.cl.cam.ac.uk/netos/papers/2003-xensosp.pdf}).
   1.102 @@ -241,7 +236,7 @@ will work to conclusively achieve that p
   1.103  
   1.104  \chapter{Installation}
   1.105  
   1.106 -The Xen distribution includes three main components: Xen itself,
   1.107 +The Xen distribution includes three main components:  Xen itself,
   1.108  utilities to convert a standard Linux tree to run on Xen and the
   1.109  userspace tools required to operate a Xen-based system.
   1.110  
   1.111 @@ -259,14 +254,14 @@ http://www.twistedmatrix.com}).  There m
   1.112  your distribution; alternatively it can be installed by running {\tt \#
   1.113  make install-twisted} in the root of the Xen source tree.
   1.114  \item The Linux bridge control tools (see {\tt
   1.115 -http://bridge.sourceforge.net}).  There may be a packages of these
   1.116 -tools available for your distribution.
   1.117 +http://bridge.sourceforge.net}).  There may be packages of these tools
   1.118 +available for your distribution.
   1.119  \item Linux IP Routing Tools
   1.120  \item make
   1.121 +\item gcc
   1.122 +\item libcurl
   1.123 +\item zlib-dev
   1.124  \item python-dev
   1.125 -\item gcc
   1.126 -\item zlib-dev
   1.127 -\item libcurl
   1.128  \item python2.3-pycurl
   1.129  \item python2.3-twisted
   1.130  \end{itemize}
   1.131 @@ -302,11 +297,11 @@ run:
   1.132  # bk clone bk://xen.bkbits.net/xen-2.0.bk
   1.133  \end{verbatim}
   1.134  
   1.135 -Under your current directory, a new directory named `xen-2.0.bk'
   1.136 -has been created, which contains all the source code for the Xen
   1.137 -hypervisor and the Xen tools.  The directory also contains `sparse'
   1.138 -Linux source trees, containing only the files that differ between
   1.139 -XenLinux and standard Linux.
   1.140 +Under your current directory, a new directory named `xen-2.0.bk' has
   1.141 +been created, which contains all the source code for the Xen
   1.142 +hypervisor and the Xen tools.  The directory also contains `sparse' OS
   1.143 +source trees, containing only the files that require changes to allow
   1.144 +the OS to run on Xen.
   1.145  
   1.146  Once you have cloned the repository, you can update to the newest
   1.147  changes to the repository by running:
   1.148 @@ -330,8 +325,9 @@ The Xen source code repository is struct
   1.149  \item[\path{tools/}] Xen node controller daemon (Xend), command line tools, 
   1.150    control libraries
   1.151  \item[\path{xen/}] The Xen hypervisor itself.
   1.152 -\item[\path{linux-2.4.27-xen/}] Linux 2.4 support for Xen
   1.153 -\item[\path{linux-2.6.8.1-xen/}] Linux 2.6 support for Xen
   1.154 +\item[\path{linux-2.4.27-xen/}] Xen support for Linux 2.4
   1.155 +\item[\path{linux-2.6.8.1-xen/}] Xen support for Linux 2.6
   1.156 +\item[\path{netbsd-2.0-xen-sparse/}] Xen support for NetBSD 2.0
   1.157  \item[\path{docs/}] various documentation files for users and developers
   1.158  \item[\path{extras/}] currently this contains the Mini OS, aimed at developers
   1.159  \end{description}
   1.160 @@ -351,37 +347,46 @@ following:
   1.161        unprivileged virtual machines.
   1.162  \end{itemize}
   1.163  
   1.164 -Inspect the Makefile if you want to see what goes on during a
   1.165 -build. Building Xen and the tools is straightforward, but XenLinux is
   1.166 -more complicated. The makefile needs a `pristine' linux kernel tree
   1.167 -which it will then add the Xen architecture files to. You can tell the
   1.168 +Inspect the Makefile if you want to see what goes on during a build.
   1.169 +Building Xen and the tools is straightforward, but XenLinux is more
   1.170 +complicated.  The makefile needs a `pristine' linux kernel tree which
   1.171 +it will then add the Xen architecture files to.  You can tell the
   1.172  makefile the location of the appropriate linux compressed tar file by
   1.173  setting the LINUX\_SRC environment variable, e.g. \\
   1.174  \verb!# LINUX_SRC=/tmp/linux-2.6.8.1.tar.bz2 make world! \\ or by
   1.175 -placing the tar file somewhere in the search path of {\tt LINUX\_SRC\_PATH}
   1.176 -which defaults to ``{\tt .:..}". If the makefile can't find a suitable
   1.177 -kernel tar file it attempts to download it from kernel.org (this won't
   1.178 -work if you're behind a firewall).
   1.179 +placing the tar file somewhere in the search path of {\tt
   1.180 +LINUX\_SRC\_PATH} which defaults to ``{\tt .:..}".  If the makefile
   1.181 +can't find a suitable kernel tar file it attempts to download it from
   1.182 +kernel.org (this won't work if you're behind a firewall).
   1.183  
   1.184  After untaring the pristine kernel tree, the makefile uses the {\tt
   1.185 -mkbuildtree} script to add the Xen patches the kernel. It then builds
   1.186 -two different XenLinux images, one with a ``-xen0'' extension which
   1.187 -contains hardware device drivers and drivers for Xen's virtual devices,
   1.188 -and one with a ``-xenU'' extension that just contains the virtual ones.
   1.189 +mkbuildtree} script to add the Xen patches to the kernel.  It then
   1.190 +builds two different XenLinux images, one with a ``-xen0'' extension
   1.191 +which contains hardware device drivers and drivers for Xen's virtual
   1.192 +devices, and one with a ``-xenU'' extension that just contains the
   1.193 +virtual ones.
   1.194  
   1.195  The procedure is similar to build the Linux 2.4 port: \\
   1.196  \verb!# LINUX_SRC=/path/to/linux2.4/source make linux24!
   1.197  
   1.198 -In both cases, if you have an SMP machine you may wish to give the
   1.199 -{\tt '-j4'} argument to make to get a parallel build.
   1.200 +The NetBSD port can be built using: \\ \verb!# make netbsd! \\ The
   1.201 +NetBSD port is built using a snapshot of the netbsd-2-0 cvs branch.
   1.202 +The snapshot is downloaded as part of the build process, if it is not
   1.203 +yet present in the {\tt NETBSD_SRC_PATH} search path.  The build
   1.204 +process also downloads a toolchain which includes all the tools
   1.205 +necessary to build the NetBSD kernel under Linux.
   1.206 +
   1.207 +If you have an SMP machine you may wish to give the {\tt '-j4'}
   1.208 +argument to make to get a parallel build.
   1.209  
   1.210  XXX Insert details on customising the kernel to be built.
   1.211  i.e. merging config files
   1.212  
   1.213 -If you have an existing kernel configuration that you would like to
   1.214 -use for domain 0, you should copy it to
   1.215 +If you have an existing Linux kernel configuration that you would like
   1.216 +to use for domain 0, you should copy it to
   1.217  install/boot/config-2.6.8.1-xen0.  During the first build, you may be
   1.218 -asked about some Xen-specific options.
   1.219 +asked about some Xen-specific options.  We advised accepting the
   1.220 +defaults for these options.
   1.221  
   1.222  \framebox{\parbox{5in}{
   1.223  {\bf Distro specific:} \\
   1.224 @@ -395,10 +400,10 @@ locations, do: \\
   1.225  \verb_# make install_
   1.226  
   1.227  Alternatively, users with special installation requirements may wish
   1.228 -to install them manually by copying file to their appropriate
   1.229 +to install them manually by copying the files to their appropriate
   1.230  destinations.
   1.231  
   1.232 -Take a look at the files in \path{install/boot/}:
   1.233 +Files in \path{install/boot/} include:
   1.234  \begin{itemize}
   1.235  \item \path{install/boot/xen.gz} The Xen 'kernel'
   1.236  \item \path{install/boot/vmlinuz-2.6.8.1-xen0}  Domain 0 XenLinux kernel
   1.237 @@ -406,7 +411,7 @@ Take a look at the files in \path{instal
   1.238  \end{itemize}
   1.239  
   1.240  The difference between the two Linux kernels that are built is due to
   1.241 -the configuration file used for each. The "U" suffixed unprivileged
   1.242 +the configuration file used for each.  The "U" suffixed unprivileged
   1.243  version doesn't contain any of the physical hardware device drivers
   1.244  --- it is 30\% smaller and hence may be preferred for your
   1.245  non-privileged domains.  The ``0'' suffixed privileged version can be
   1.246 @@ -472,7 +477,7 @@ serial console.  Add the line:
   1.247  Users of the XenLinux 2.6 kernel should disable Thread Local Storage
   1.248  (e.g. by doing a {\tt mv /lib/tls /lib/tls.disabled}) before
   1.249  attempting to run with a XenLinux kernel.  You can always reenable it
   1.250 -my restoring the directory to its original location (i.e. {\tt mv
   1.251 +by restoring the directory to its original location (i.e. {\tt mv
   1.252    /lib/tls.disabled /lib/tls}).
   1.253  
   1.254  The TLS implementation uses segmentation in a way that is not
   1.255 @@ -504,7 +509,8 @@ should still be able to reboot with your
   1.256  
   1.257  The first step in creating a new domain is to prepare a root
   1.258  filesystem for it to boot off.  Typically, this might be stored in a
   1.259 -normal partition, a disk file and LVM volume, or on an NFS server.
   1.260 +normal partition, an LVM or other volume manager partition, a disk
   1.261 +file or on an NFS server.
   1.262  
   1.263  A simple way to do this is simply to boot from your standard OS
   1.264  install CD and install the distribution into another partition on your
   1.265 @@ -513,7 +519,7 @@ hard drive.
   1.266  {\em N.b } you can boot with Xen and XenLinux without installing any
   1.267  special userspace tools but will need to have the prerequisites
   1.268  described in Section~\ref{sec:prerequisites} and the Xen control tools
   1.269 -are installed before you proceed.
   1.270 +installed before you proceed.
   1.271  
   1.272  \section{From the web interface}
   1.273  
   1.274 @@ -535,10 +541,10 @@ require a more complex setup, you will w
   1.275  configuration file --- details of the configuration file formats are
   1.276  included in Chapter~\ref{cha:config}.
   1.277  
   1.278 -The \path{xmdefconfig1} file is a simple template configuration file
   1.279 +The \path{xmexample1} file is a simple template configuration file
   1.280  for describing a single VM.
   1.281  
   1.282 -The \path{xmdefconfig2} file is a template description that is intended
   1.283 +The \path{xmexample2} file is a template description that is intended
   1.284  to be reused for multiple virtual machines.  Setting the value of the
   1.285  {\tt vmid} variable on the {\tt xm} command line
   1.286  fills in parts of this template.
   1.287 @@ -600,8 +606,8 @@ kernel = "/boot/vmlinuz-2.6.8.1-xenU" # 
   1.288  memory = 64
   1.289  name = "ttylinux"
   1.290  cpu = -1 # leave to Xen to pick
   1.291 -nics=1
   1.292 -ip="1.2.3.4"
   1.293 +nics = 1
   1.294 +ip = "1.2.3.4"
   1.295  disk = ['file:/path/to/ttylinux-disk,sda1,w']
   1.296  root = "/dev/sda1 ro"
   1.297  \end{verbatim}
   1.298 @@ -667,11 +673,11 @@ e.g. \verb_# xm console 1_ (open console
   1.299  \subsection{\tt xm list}
   1.300  
   1.301  The output of {\tt xm list} is in rows of the following format:\\
   1.302 -\verb_domid name memory cpu state cputime_
   1.303 +\verb_name domid memory cpu state cputime console_
   1.304  
   1.305  \begin{description}
   1.306 +\item[name]  The descriptive name of the virtual machine.
   1.307  \item[domid] The number of the domain ID this virtual machine is running in.
   1.308 -\item[name]  The descriptive name of the virtual machine.
   1.309  \item[memory] Memory size in megabytes.
   1.310  \item[cpu]   The CPU this domain is running on.
   1.311  \item[state] Domain state consists of 5 fields:
   1.312 @@ -683,6 +689,7 @@ The output of {\tt xm list} is in rows o
   1.313    \item[c] crashed
   1.314    \end{description}
   1.315  \item[cputime] How much CPU time (in seconds) the domain has used so far.
   1.316 +\item[console] TCP port accepting connections to the domain's console.
   1.317  \end{description}
   1.318  
   1.319  The {\tt xm list} command also supports a long output format when the
   1.320 @@ -702,8 +709,8 @@ It is possible to use a file in Domain 0
   1.321  virtual machine.  As well as being convenient, this also has the
   1.322  advantage that the virtual block device will be {\em sparse} --- space
   1.323  will only really be allocated as parts of the file are used.  So if a
   1.324 -virtual machine uses only half its disk space then the file really
   1.325 -takes up a half of the size allocated.
   1.326 +virtual machine uses only half of its disk space then the file really
   1.327 +takes up half of the size allocated.
   1.328  
   1.329  For example, to create a 2GB sparse file-backed virtual block device
   1.330  (actually only consumes 1KB of disk):
   1.331 @@ -717,7 +724,7 @@ Make a file system in the disk file: \\
   1.332  
   1.333  Populate the file system e.g. by copying from the current root:
   1.334  \begin{verbatim}
   1.335 -# mount vm1disk /mnt -o loop
   1.336 +# mount -o loop vm1disk /mnt
   1.337  # cp -ax / /mnt
   1.338  \end{verbatim}
   1.339  Tailor the file system by editing \path{/etc/fstab},
   1.340 @@ -729,8 +736,6 @@ this example put \path{/dev/sda1} to roo
   1.341  Now unmount (this is important!):\\
   1.342  \verb_# umount /mnt_
   1.343  
   1.344 -And detach the file from its loop device:
   1.345 -
   1.346  In the configuration file set:\\
   1.347  \verb_disk = ['file:/full/path/to/vm1disk,sda1,w']_
   1.348  
   1.349 @@ -784,7 +789,7 @@ order to handle the {\tt vmid} variable.
   1.350  
   1.351  
   1.352  \chapter{Xend (Node control daemon)}
   1.353 -\label{cha:xensv}
   1.354 +\label{cha:xend}
   1.355  
   1.356  The Xen Daemon (Xend) performs system management functions related to
   1.357  virtual machines.  It forms a central point of control for a machine
   1.358 @@ -801,11 +806,10 @@ Xend command line:
   1.359  \verb_# xend restart_ & restart Xend if running, otherwise start it \\
   1.360  \end{tabular}
   1.361  
   1.362 -An SysV init script called {\tt xend} is provided to start Xend at
   1.363 -boot time.  The {\tt make install} will install this script in
   1.364 -{\path{/etc/init.d} automatically.  To enable it, you can make
   1.365 -symbolic links in the appropriate runlevel directories or use the {\tt
   1.366 -chkconfig} tool, where available.
   1.367 +A SysV init script called {\tt xend} is provided to start Xend at boot
   1.368 +time.  {\tt make install} installs this script in {\path{/etc/init.d}.
   1.369 +To enable it, you have to make symbolic links in the appropriate
   1.370 +runlevel directories or use the {\tt chkconfig} tool, where available.
   1.371  
   1.372  Once Xend is running, more sophisticated administration can be done
   1.373  using the Xensv web interface (see Chapter~\ref{cha:xensv}).
   1.374 @@ -822,7 +826,7 @@ It will automatically start Xend if it i
   1.375  
   1.376  By default, Xensv will serve out the web interface on port 8080.  This
   1.377  can be changed by editing {\tt
   1.378 -/usr/lib/python2.2/site-packages/xen/sv/params.py}.
   1.379 +/usr/lib/python2.3/site-packages/xen/sv/params.py}.
   1.380  
   1.381  Once Xensv is running, the web interface can be used to manage running
   1.382  domains and provides a user friendly domain creation wizard.
   1.383 @@ -839,13 +843,13 @@ The general format of an xm command line
   1.384  # xm command [switches] [arguments] [variables]
   1.385  \end{verbatim}
   1.386  
   1.387 -The available {\em switches } and {\em arguments}are dependent on the
   1.388 +The available {\em switches } and {\em arguments} are dependent on the
   1.389  {\em command} chosen.  The {\em variables} may be set using
   1.390 -declarations of the form {\tt variable=value} and may be used to set /
   1.391 -override any of the values in the configuration file being used,
   1.392 -including the standard variables described above and any custom
   1.393 -variables (for instance, the \path{xmdefconfig} file uses a {\tt vmid}
   1.394 -variable).
   1.395 +declarations of the form {\tt variable=value} and command line
   1.396 +declarations override any of the values in the configuration file
   1.397 +being used, including the standard variables described above and any
   1.398 +custom variables (for instance, the \path{xmdefconfig} file uses a
   1.399 +{\tt vmid} variable).
   1.400  
   1.401  The available commands are as follows:
   1.402  
   1.403 @@ -1050,7 +1054,7 @@ domains), so the FBVT derivative has bee
   1.404  \item[ctx\_allow]
   1.405    the context switch allowance is similar to the "quantum"
   1.406    in traditional schedulers.  It is the minimum time that
   1.407 -  a scheduled domain will be allowed to run before be
   1.408 +  a scheduled domain will be allowed to run before being
   1.409    pre-empted.  This prevents thrashing of the CPU.
   1.410  \end{description}
   1.411  
   1.412 @@ -1124,13 +1128,13 @@ higher throughput.
   1.413  
   1.414  \chapter{Privileged domains}
   1.415  
   1.416 -There are two possible types of privileges: IO privileges and
   1.417 +There are two possible types of privileges:  IO privileges and
   1.418  administration privileges.
   1.419  
   1.420  \section{Driver domains (IO Privileges)}
   1.421  
   1.422  IO privileges can be assigned to allow a domain to drive PCI devices
   1.423 -itself.  This is used for to support driver domains.
   1.424 +itself.  This is used to support driver domains.
   1.425  
   1.426  Setting backend privileges is currently only supported in SXP format
   1.427  config files (??? is this true - there's nothing in xmdefconfig,
   1.428 @@ -1201,8 +1205,11 @@ make option1=y option2=y
   1.429  
   1.430  \section{List of options}
   1.431  
   1.432 +{\bf verbose=y }\\
   1.433 +Enable debugging messages when Xen detects an unexpected condition.
   1.434 +Also enables console output from all domains. \\
   1.435  {\bf debug=y }\\
   1.436 -Enable debug assertions and console output.
   1.437 +Enable debug assertions.  Implies {\bf verbose=y }.
   1.438  (Primarily useful for tracing bugs in Xen).        \\
   1.439  {\bf debugger=y }\\
   1.440  Enable the in-Xen pervasive debugger (PDB).
   1.441 @@ -1253,12 +1260,12 @@ editing \path{grub.conf}.
   1.442   Disable Hyperthreading. \\
   1.443  
   1.444  {\bf badpage=$<$page number$>$[,$<$page number$>$] } \\
   1.445 -                  Specify a list of pages not to be allocated for use 
   1.446 -                  because they contain bad bytes. For example, if your
   1.447 -                  memory tester says that byte 0x12345678 is bad, you would
   1.448 -                  place 'badpage=0x12345' on Xen's command line (i.e., the
   1.449 -                  last three digits of the byte address are not
   1.450 -                  included!). \\
   1.451 + Specify a list of pages not to be allocated for use 
   1.452 + because they contain bad bytes. For example, if your
   1.453 + memory tester says that byte 0x12345678 is bad, you would
   1.454 + place 'badpage=0x12345' on Xen's command line (i.e., the
   1.455 + last three digits of the byte address are not
   1.456 + included!). \\
   1.457  
   1.458  {\bf com1=$<$baud$>$,DPS[,$<$io\_base$>$,$<$irq$>$] \\
   1.459   com2=$<$baud$>$,DPS[,$<$io\_base$>$,$<$irq$>$] } \\
   1.460 @@ -1294,7 +1301,7 @@ editing \path{grub.conf}.
   1.461   pressed three times. Specifying '`' disables switching.
   1.462   The <auto-switch-char> specifies whether Xen should
   1.463   auto-switch input to DOM0 when it boots -- if it is 'x'
   1.464 - then auto-switching is disabled. Any other value, or
   1.465 + then auto-switching is disabled.  Any other value, or
   1.466   omitting the character, enables auto-switching.
   1.467   [NB. Default for this option is 'a'] \\
   1.468  
   1.469 @@ -1398,17 +1405,19 @@ Xen domain:
   1.470  \item Set up Xen 2.0 and test that it's working, as described earlier in
   1.471        this manual.
   1.472  
   1.473 -\item Create disk images for root-fs and swap (alternatively, you might create
   1.474 -      dedicated partitions, LVM logical volumes, etc. if that suits your setup).
   1.475 +\item Create disk images for root-fs and swap (alternatively, you
   1.476 +      might create dedicated partitions, LVM logical volumes, etc. if
   1.477 +      that suits your setup).
   1.478  \begin{verbatim}  
   1.479  dd if=/dev/zero of=/path/diskimage bs=1024k count=size_in_mbytes
   1.480  dd if=/dev/zero of=/path/swapimage bs=1024k count=size_in_mbytes
   1.481  \end{verbatim}
   1.482 -      If you're going to use this filesystem / diskimage only as a `template' for
   1.483 -      other vm diskimages, something like 300 MB should be enough.. (of course it 
   1.484 -      depends what kind of packages you are planning to install to the template)
   1.485 +      If you're going to use this filesystem / diskimage only as a
   1.486 +      `template' for other vm diskimages, something like 300 MB should
   1.487 +      be enough.. (of course it depends what kind of packages you are
   1.488 +      planning to install to the template)
   1.489  
   1.490 -\item Create filesystem and swap to the images
   1.491 +\item Create the filesystem and initialise the swap image
   1.492  \begin{verbatim}
   1.493  mkfs.ext3 /path/diskimage
   1.494  mkswap /path/swapimage
   1.495 @@ -1421,7 +1430,7 @@ mount -o loop /path/diskimage /mnt/disk
   1.496  
   1.497  \item Install {\tt debootstrap}
   1.498  
   1.499 -Make sure you have debootstrap installed on the host. If you are
   1.500 +Make sure you have debootstrap installed on the host.  If you are
   1.501  running Debian sarge (3.1 / testing) or unstable you can install it by
   1.502  running {\tt apt-get install debootstrap}.  Otherwise, it can be
   1.503  downloaded from the Debian project website.
   1.504 @@ -1439,7 +1448,7 @@ You can use any other Debian http/ftp mi
   1.505  chroot /mnt/disk /bin/bash
   1.506  \end{verbatim}
   1.507  
   1.508 -Edit the following files using vi or nano and make needed settings:
   1.509 +Edit the following files using vi or nano and make needed changes:
   1.510  \begin{verbatim}
   1.511  /etc/hostname
   1.512  /etc/hosts
   1.513 @@ -1460,7 +1469,7 @@ Add Debian mirror to:
   1.514  /etc/apt/sources.list
   1.515  \end{verbatim}
   1.516  
   1.517 -And create fstab like this:
   1.518 +Create fstab like this:
   1.519  \begin{verbatim}
   1.520  /dev/sda1       /       ext3    errors=remount-ro       0       1
   1.521  /dev/sda2       none    swap    sw                      0       0
   1.522 @@ -1474,8 +1483,8 @@ Logout
   1.523  umount /mnt/disk
   1.524  \end{verbatim}
   1.525  
   1.526 -\item      Create Xen 2.0 configuration file for the new domain. You can use the
   1.527 -        example-configurations coming with xen as a template.
   1.528 +\item Create Xen 2.0 configuration file for the new domain. You can
   1.529 +        use the example-configurations coming with xen as a template.
   1.530  
   1.531          Make sure you have the following set up:
   1.532  \begin{verbatim}
   1.533 @@ -1500,9 +1509,9 @@ xm list
   1.534  Started domain testdomain2, console on port 9626
   1.535  \end{verbatim}
   1.536          
   1.537 -        There you can see the ID of the console: 26. You can also
   1.538 -        list the consoles with {\tt xm consoles"}. (ID is the last two digits of
   1.539 -        the portnumber.)
   1.540 +        There you can see the ID of the console: 26. You can also list
   1.541 +        the consoles with {\tt xm consoles"}. (ID is the last two
   1.542 +        digits of the portnumber.)
   1.543  
   1.544          Attach to the console:
   1.545  
   1.546 @@ -1510,14 +1519,15 @@ Started domain testdomain2, console on p
   1.547  xm console 26
   1.548  \end{verbatim}
   1.549  
   1.550 -        or by telnetting to the port 9626 of localhost (the xm console progam works better).
   1.551 +        or by telnetting to the port 9626 of localhost (the xm console
   1.552 +        progam works better).
   1.553  
   1.554  \item   Log in and run base-config
   1.555  
   1.556          As a default there's no password for the root.
   1.557  
   1.558          Check that everything looks OK, and the system started without
   1.559 -        errors. Check that the swap is active, and the network settings are
   1.560 +        errors.  Check that the swap is active, and the network settings are
   1.561          correct.
   1.562  
   1.563          Run {\tt /usr/sbin/base-config} to set up the Debian settings.
   1.564 @@ -1535,4 +1545,3 @@ simply copying the image file.  Once thi
   1.565  image-specific settings (hostname, network settings, etc).
   1.566  
   1.567  \end{document}
   1.568 -