direct-io.hg
changeset 7741:79e8991af6b4
A few doc cleanups. Replace bitkeeper with mercurial.
author | Robb Romans <FMJ@us.ibm.com> |
---|---|
date | Thu Nov 10 11:42:58 2005 -0500 (2005-11-10) |
parents | 136b2d20dc81 |
children | f1c07363956b |
files | docs/src/user.tex docs/src/user/installation.tex docs/src/user/introduction.tex docs/src/user/start_addl_dom.tex |
line diff
1.1 --- a/docs/src/user.tex Wed Nov 09 16:08:37 2005 +0100 1.2 +++ b/docs/src/user.tex Thu Nov 10 11:42:58 2005 -0500 1.3 @@ -9,7 +9,6 @@ 1.4 \latexhtml{\newcommand{\path}[1]{{\small {\tt #1}}}}{\newcommand{\path}[1]{{\tt #1}}} 1.5 1.6 1.7 - 1.8 \begin{document} 1.9 1.10 % TITLE PAGE 1.11 @@ -21,24 +20,24 @@ 1.12 \vfill 1.13 \vfill 1.14 \begin{tabular}{l} 1.15 -{\Huge \bf Users' manual} \\[4mm] 1.16 -{\huge Xen v2.0 for x86} \\[80mm] 1.17 +{\Huge \bf Users' Manual} \\[4mm] 1.18 +{\huge Xen v3.0} \\[80mm] 1.19 1.20 -{\Large Xen is Copyright (c) 2002-2004, The Xen Team} \\[3mm] 1.21 +{\Large Xen is Copyright (c) 2002-2005, The Xen Team} \\[3mm] 1.22 {\Large University of Cambridge, UK} \\[20mm] 1.23 \end{tabular} 1.24 \end{center} 1.25 1.26 -{\bf 1.27 -DISCLAIMER: This documentation is currently under active development 1.28 -and as such there may be mistakes and omissions --- watch out for 1.29 -these and please report any you find to the developer's mailing list. 1.30 -Contributions of material, suggestions and corrections are welcome. 1.31 -} 1.32 +{\bf DISCLAIMER: This documentation is currently under active 1.33 + development and as such there may be mistakes and omissions --- 1.34 + watch out for these and please report any you find to the 1.35 + developers' mailing list. Contributions of material, suggestions 1.36 + and corrections are welcome.} 1.37 1.38 \vfill 1.39 \cleardoublepage 1.40 1.41 + 1.42 % TABLE OF CONTENTS 1.43 \pagestyle{plain} 1.44 \pagenumbering{roman} 1.45 @@ -46,6 +45,7 @@ Contributions of material, suggestions a 1.46 \tableofcontents } 1.47 \cleardoublepage 1.48 1.49 + 1.50 % PREPARE FOR MAIN TEXT 1.51 \pagenumbering{arabic} 1.52 \raggedbottom 1.53 @@ -68,7 +68,7 @@ Contributions of material, suggestions a 1.54 %% Chapter Installation moved to installation.tex 1.55 \include{src/user/installation} 1.56 1.57 -%% Chapter Starting Additional Domains moved to start_addl_dom.tex 1.58 +%% Chapter Starting Additional Domains moved to start_addl_dom.tex 1.59 \include{src/user/start_addl_dom} 1.60 1.61 %% Chapter Domain Management Tools moved to domain_mgmt.tex 1.62 @@ -99,25 +99,25 @@ that bug reports, suggestions and contri 1.63 software (or the documentation) should be sent to the Xen developers' 1.64 mailing list (address below). 1.65 1.66 + 1.67 \section{Other Documentation} 1.68 1.69 For developers interested in porting operating systems to Xen, the 1.70 -{\em Xen Interface Manual} is distributed in the \path{docs/} 1.71 -directory of the Xen source distribution. 1.72 +\emph{Xen Interface Manual} is distributed in the \path{docs/} 1.73 +directory of the Xen source distribution. 1.74 1.75 -%Various HOWTOs are available in \path{docs/HOWTOS} but this content is 1.76 -%being integrated into this manual. 1.77 +% Various HOWTOs are available in \path{docs/HOWTOS} but this content 1.78 +% is being integrated into this manual. 1.79 1.80 1.81 \section{Online References} 1.82 1.83 The official Xen web site is found at: 1.84 -\begin{quote} 1.85 -{\tt http://www.cl.cam.ac.uk/netos/xen/} 1.86 +\begin{quote} {\tt http://www.cl.cam.ac.uk/netos/xen/} 1.87 \end{quote} 1.88 1.89 -This contains links to the latest versions of all on-line 1.90 -documentation (including the lateset version of the FAQ). 1.91 +This contains links to the latest versions of all online 1.92 +documentation, including the latest version of the FAQ. 1.93 1.94 1.95 \section{Mailing Lists} 1.96 @@ -126,17 +126,17 @@ There are currently four official Xen ma 1.97 1.98 \begin{description} 1.99 \item[xen-devel@lists.xensource.com] Used for development 1.100 -discussions and bug reports. Subscribe at: \\ 1.101 -{\small {\tt http://lists.xensource.com/xen-devel}} 1.102 + discussions and bug reports. Subscribe at: \\ 1.103 + {\small {\tt http://lists.xensource.com/xen-devel}} 1.104 \item[xen-users@lists.xensource.com] Used for installation and usage 1.105 -discussions and requests for help. Subscribe at: \\ 1.106 -{\small {\tt http://lists.xensource.com/xen-users}} 1.107 + discussions and requests for help. Subscribe at: \\ 1.108 + {\small {\tt http://lists.xensource.com/xen-users}} 1.109 \item[xen-announce@lists.xensource.com] Used for announcements only. 1.110 -Subscribe at: \\ 1.111 -{\small {\tt http://lists.xensource.com/xen-announce}} 1.112 -\item[xen-changelog@lists.xensource.com] Changelog feed 1.113 -from the unstable and 2.0 trees - developer oriented. Subscribe at: \\ 1.114 -{\small {\tt http://lists.xensource.com/xen-changelog}} 1.115 + Subscribe at: \\ 1.116 + {\small {\tt http://lists.xensource.com/xen-announce}} 1.117 +\item[xen-changelog@lists.xensource.com] Changelog feed 1.118 + from the unstable and 2.0 trees - developer oriented. Subscribe at: \\ 1.119 + {\small {\tt http://lists.xensource.com/xen-changelog}} 1.120 \end{description} 1.121 1.122 1.123 @@ -149,11 +149,11 @@ from the unstable and 2.0 trees - develo 1.124 %% Chapter Installing Xen on Red Hat moved to redhat.tex 1.125 \include{src/user/redhat} 1.126 1.127 - 1.128 %% Chapter Glossary of Terms moved to glossary.tex 1.129 \include{src/user/glossary} 1.130 1.131 1.132 + 1.133 \end{document} 1.134 1.135 1.136 @@ -181,36 +181,35 @@ from the unstable and 2.0 trees - develo 1.137 %% # import xenctl.utils 1.138 %% # help(xenctl.utils) 1.139 1.140 -%% You can use these modules to write your own custom scripts or you can 1.141 -%% customise the scripts supplied in the Xen distribution. 1.142 +%% You can use these modules to write your own custom scripts or you 1.143 +%% can customise the scripts supplied in the Xen distribution. 1.144 1.145 1.146 1.147 % Explain about AGP GART 1.148 1.149 1.150 -%% If you're not intending to configure the new domain with an IP address 1.151 -%% on your LAN, then you'll probably want to use NAT. The 1.152 -%% 'xen_nat_enable' installs a few useful iptables rules into domain0 to 1.153 -%% enable NAT. [NB: We plan to support RSIP in future] 1.154 - 1.155 +%% If you're not intending to configure the new domain with an IP 1.156 +%% address on your LAN, then you'll probably want to use NAT. The 1.157 +%% 'xen_nat_enable' installs a few useful iptables rules into domain0 1.158 +%% to enable NAT. [NB: We plan to support RSIP in future] 1.159 1.160 1.161 1.162 %% Installing the file systems from the CD 1.163 %% ======================================= 1.164 1.165 -%% If you haven't got an existing Linux installation onto which you can 1.166 -%% just drop down the Xen and Xenlinux images, then the file systems on 1.167 -%% the CD provide a quick way of doing an install. However, you would be 1.168 -%% better off in the long run doing a proper install of your preferred 1.169 -%% distro and installing Xen onto that, rather than just doing the hack 1.170 -%% described below: 1.171 +%% If you haven't got an existing Linux installation onto which you 1.172 +%% can just drop down the Xen and Xenlinux images, then the file 1.173 +%% systems on the CD provide a quick way of doing an install. However, 1.174 +%% you would be better off in the long run doing a proper install of 1.175 +%% your preferred distro and installing Xen onto that, rather than 1.176 +%% just doing the hack described below: 1.177 1.178 -%% Choose one or two partitions, depending on whether you want a separate 1.179 -%% /usr or not. Make file systems on it/them e.g.: 1.180 -%% mkfs -t ext3 /dev/hda3 1.181 -%% [or mkfs -t ext2 /dev/hda3 && tune2fs -j /dev/hda3 if using an old 1.182 +%% Choose one or two partitions, depending on whether you want a 1.183 +%% separate /usr or not. Make file systems on it/them e.g.: 1.184 +%% mkfs -t ext3 /dev/hda3 1.185 +%% [or mkfs -t ext2 /dev/hda3 && tune2fs -j /dev/hda3 if using an old 1.186 %% version of mkfs] 1.187 1.188 %% Next, mount the file system(s) e.g.: 1.189 @@ -224,12 +223,14 @@ from the unstable and 2.0 trees - develo 1.190 %% configuration. Changing the password file (etc/shadow) is probably a 1.191 %% good idea too. 1.192 1.193 -%% To install the usr file system, copy the file system from CD on /usr, 1.194 -%% though leaving out the "XenDemoCD" and "boot" directories: 1.195 -%% cd /usr && cp -a X11R6 etc java libexec root src bin dict kerberos local sbin tmp doc include lib man share /mnt/usr 1.196 +%% To install the usr file system, copy the file system from CD on 1.197 +%% /usr, though leaving out the "XenDemoCD" and "boot" directories: 1.198 +%% cd /usr && cp -a X11R6 etc java libexec root src bin dict kerberos 1.199 +%% local sbin tmp doc include lib man share /mnt/usr 1.200 1.201 %% If you intend to boot off these file systems (i.e. use them for 1.202 -%% domain 0), then you probably want to copy the /usr/boot directory on 1.203 -%% the cd over the top of the current symlink to /boot on your root 1.204 -%% filesystem (after deleting the current symlink) i.e.: 1.205 +%% domain 0), then you probably want to copy the /usr/boot 1.206 +%% directory on the cd over the top of the current symlink to /boot 1.207 +%% on your root filesystem (after deleting the current symlink) 1.208 +%% i.e.: 1.209 %% cd /mnt/root ; rm boot ; cp -a /usr/boot .
2.1 --- a/docs/src/user/installation.tex Wed Nov 09 16:08:37 2005 +0100 2.2 +++ b/docs/src/user/installation.tex Thu Nov 10 11:42:58 2005 -0500 2.3 @@ -17,7 +17,7 @@ want to run more than one virtual machin 2.4 required if you wish to build from source. 2.5 \begin{itemize} 2.6 \item A working Linux distribution using the GRUB bootloader and 2.7 - running on a P6-class (or newer) CPU. 2.8 + running on a P6-class or newer CPU\@. 2.9 \item [$\dag$] The \path{iproute2} package. 2.10 \item [$\dag$] The Linux bridge-utils\footnote{Available from {\tt 2.11 http://bridge.sourceforge.net}} (e.g., \path{/sbin/brctl}) 2.12 @@ -30,29 +30,29 @@ required if you wish to build from sourc 2.13 alternatively it can be installed by running `{\sl make 2.14 install-twisted}' in the root of the Xen source tree. 2.15 \item [$*$] Build tools (gcc v3.2.x or v3.3.x, binutils, GNU make). 2.16 -\item [$*$] Development installation of libcurl (e.g., libcurl-devel) 2.17 -\item [$*$] Development installation of zlib (e.g., zlib-dev). 2.18 -\item [$*$] Development installation of Python v2.2 or later (e.g., 2.19 +\item [$*$] Development installation of libcurl (e.g.,\ libcurl-devel). 2.20 +\item [$*$] Development installation of zlib (e.g.,\ zlib-dev). 2.21 +\item [$*$] Development installation of Python v2.2 or later (e.g.,\ 2.22 python-dev). 2.23 \item [$*$] \LaTeX\ and transfig are required to build the 2.24 documentation. 2.25 \end{itemize} 2.26 2.27 -Once you have satisfied the relevant prerequisites, you can now 2.28 -install either a binary or source distribution of Xen. 2.29 +Once you have satisfied these prerequisites, you can now install 2.30 +either a binary or source distribution of Xen. 2.31 2.32 2.33 \section{Installing from Binary Tarball} 2.34 2.35 Pre-built tarballs are available for download from the Xen download 2.36 -page 2.37 -\begin{quote} {\tt http://xen.sf.net} 2.38 +page: 2.39 +\begin{quote} {\tt http://www.xensource.com/downloads/} 2.40 \end{quote} 2.41 2.42 Once you've downloaded the tarball, simply unpack and install: 2.43 \begin{verbatim} 2.44 -# tar zxvf xen-2.0-install.tgz 2.45 -# cd xen-2.0-install 2.46 +# tar zxvf xen-3.0-install.tgz 2.47 +# cd xen-3.0-install 2.48 # sh ./install.sh 2.49 \end{verbatim} 2.50 2.51 @@ -62,48 +62,29 @@ as described in Section~\ref{s:configure 2.52 2.53 \section{Installing from Source} 2.54 2.55 -This section describes how to obtain, build, and install Xen from 2.56 +This section describes how to obtain, build and install Xen from 2.57 source. 2.58 2.59 \subsection{Obtaining the Source} 2.60 2.61 -The Xen source tree is available as either a compressed source tar 2.62 -ball or as a clone of our master BitKeeper repository. 2.63 +The Xen source tree is available as either a compressed source tarball 2.64 +or as a clone of our master Mercurial repository. 2.65 2.66 \begin{description} 2.67 \item[Obtaining the Source Tarball]\mbox{} \\ 2.68 - Stable versions (and daily snapshots) of the Xen source tree are 2.69 - available as compressed tarballs from the Xen download page 2.70 - \begin{quote} {\tt http://xen.sf.net} 2.71 + Stable versions and daily snapshots of the Xen source tree are 2.72 + available from the Xen download page: 2.73 + \begin{quote} {\tt \tt http://www.xensource.com/downloads/} 2.74 \end{quote} 2.75 - 2.76 -\item[Using BitKeeper]\mbox{} \\ 2.77 - If you wish to install Xen from a clone of our latest BitKeeper 2.78 - repository then you will need to install the BitKeeper tools. 2.79 - Download instructions for BitKeeper can be obtained by filling out 2.80 - the form at: 2.81 - \begin{quote} {\tt http://www.bitmover.com/cgi-bin/download.cgi} 2.82 -\end{quote} 2.83 -The public master BK repository for the 2.0 release lives at: 2.84 -\begin{quote} {\tt bk://xen.bkbits.net/xen-2.0.bk} 2.85 -\end{quote} 2.86 -You can use BitKeeper to download it and keep it updated with the 2.87 -latest features and fixes. 2.88 - 2.89 -Change to the directory in which you want to put the source code, then 2.90 -run: 2.91 -\begin{verbatim} 2.92 -# bk clone bk://xen.bkbits.net/xen-2.0.bk 2.93 -\end{verbatim} 2.94 - 2.95 -Under your current directory, a new directory named \path{xen-2.0.bk} 2.96 -has been created, which contains all the source code for Xen, the OS 2.97 -ports, and the control tools. You can update your repository with the 2.98 -latest changes at any time by running: 2.99 -\begin{verbatim} 2.100 -# cd xen-2.0.bk # to change into the local repository 2.101 -# bk pull # to update the repository 2.102 -\end{verbatim} 2.103 +\item[Obtaining the source via Mercurial]\mbox{} \\ 2.104 + The source tree may also be obtained via the public Mercurial 2.105 + repository hosted at: 2.106 + \begin{quote}{\tt http://xenbits.xensource.com}. 2.107 + \end{quote} See the instructions and the Getting Started Guide 2.108 + referenced at: 2.109 + \begin{quote} 2.110 + {\tt http://www.xensource.com/downloads/}. 2.111 + \end{quote} 2.112 \end{description} 2.113 2.114 % \section{The distribution} 2.115 @@ -124,7 +105,7 @@ latest changes at any time by running: 2.116 2.117 \subsection{Building from Source} 2.118 2.119 -The top-level Xen Makefile includes a target `world' that will do the 2.120 +The top-level Xen Makefile includes a target ``world'' that will do the 2.121 following: 2.122 2.123 \begin{itemize} 2.124 @@ -132,17 +113,17 @@ following: 2.125 \item Build the control tools, including \xend. 2.126 \item Download (if necessary) and unpack the Linux 2.6 source code, 2.127 and patch it for use with Xen. 2.128 -\item Build a Linux kernel to use in domain 0 and a smaller 2.129 +\item Build a Linux kernel to use in domain~0 and a smaller 2.130 unprivileged kernel, which can optionally be used for unprivileged 2.131 virtual machines. 2.132 \end{itemize} 2.133 2.134 After the build has completed you should have a top-level directory 2.135 -called \path{dist/} in which all resulting targets will be placed; of 2.136 -particular interest are the two kernels XenLinux kernel images, one 2.137 -with a `-xen0' extension which contains hardware device drivers and 2.138 -drivers for Xen's virtual devices, and one with a `-xenU' extension 2.139 -that just contains the virtual ones. These are found in 2.140 +called \path{dist/} in which all resulting targets will be placed. Of 2.141 +particular interest are the two XenLinux kernel images, one with a 2.142 +``-xen0'' extension which contains hardware device drivers and drivers 2.143 +for Xen's virtual devices, and one with a ``-xenU'' extension that 2.144 +just contains the virtual ones. These are found in 2.145 \path{dist/install/boot/} along with the image for Xen itself and the 2.146 configuration files used during the build. 2.147 2.148 @@ -150,17 +131,15 @@ The NetBSD port can be built using: 2.149 \begin{quote} 2.150 \begin{verbatim} 2.151 # make netbsd20 2.152 -\end{verbatim} 2.153 -\end{quote} 2.154 +\end{verbatim}\end{quote} 2.155 NetBSD port is built using a snapshot of the netbsd-2-0 cvs branch. 2.156 -The snapshot is downloaded as part of the build process, if it is not 2.157 +The snapshot is downloaded as part of the build process if it is not 2.158 yet present in the \path{NETBSD\_SRC\_PATH} search path. The build 2.159 -process also downloads a toolchain which includes all the tools 2.160 +process also downloads a toolchain which includes all of the tools 2.161 necessary to build the NetBSD kernel under Linux. 2.162 2.163 -To customize further the set of kernels built you need to edit the 2.164 -top-level Makefile. Look for the line: 2.165 - 2.166 +To customize the set of kernels built you need to edit the top-level 2.167 +Makefile. Look for the line: 2.168 \begin{quote} 2.169 \begin{verbatim} 2.170 KERNELS ?= mk.linux-2.6-xen0 mk.linux-2.6-xenU 2.171 @@ -189,7 +168,6 @@ kernel containing only virtual device dr 2.172 %% After untaring the pristine kernel tree, the makefile uses the {\tt 2.173 %% mkbuildtree} script to add the Xen patches to the kernel. 2.174 2.175 - 2.176 %% \framebox{\parbox{5in}{ 2.177 %% {\bf Distro specific:} \\ 2.178 %% {\it Gentoo} --- if not using udev (most installations, 2.179 @@ -201,7 +179,7 @@ kernel containing only virtual device dr 2.180 % If you have an SMP machine you may wish to give the {\tt '-j4'} 2.181 % argument to make to get a parallel build. 2.182 2.183 -If you wish to build a customized XenLinux kernel (e.g. to support 2.184 +If you wish to build a customized XenLinux kernel (e.g.\ to support 2.185 additional devices or enable distribution-required features), you can 2.186 use the standard Linux configuration mechanisms, specifying that the 2.187 architecture being built for is \path{xen}, e.g: 2.188 @@ -215,21 +193,21 @@ architecture being built for is \path{xe 2.189 \end{quote} 2.190 2.191 You can also copy an existing Linux configuration (\path{.config}) 2.192 -into \path{linux-2.6.11-xen0} and execute: 2.193 +into e.g.\ \path{linux-2.6.11-xen0} and execute: 2.194 \begin{quote} 2.195 \begin{verbatim} 2.196 # make ARCH=xen oldconfig 2.197 \end{verbatim} 2.198 \end{quote} 2.199 2.200 -You may be prompted with some Xen-specific options; we advise 2.201 +You may be prompted with some Xen-specific options. We advise 2.202 accepting the defaults for these options. 2.203 2.204 -Note that the only difference between the two types of Linux kernel 2.205 -that are built is the configuration file used for each. The `U' 2.206 +Note that the only difference between the two types of Linux kernels 2.207 +that are built is the configuration file used for each. The ``U'' 2.208 suffixed (unprivileged) versions don't contain any of the physical 2.209 hardware device drivers, leading to a 30\% reduction in size; hence 2.210 -you may prefer these for your non-privileged domains. The `0' 2.211 +you may prefer these for your non-privileged domains. The ``0'' 2.212 suffixed privileged versions can be used to boot the system, as well 2.213 as in driver domains and unprivileged domains. 2.214 2.215 @@ -259,10 +237,10 @@ destinations. 2.216 2.217 The \path{dist/install/boot} directory will also contain the config 2.218 files used for building the XenLinux kernels, and also versions of Xen 2.219 -and XenLinux kernels that contain debug symbols (\path{xen-syms-2.0.6} 2.220 -and \path{vmlinux-syms-2.6.11.11-xen0}) which are essential for 2.221 -interpreting crash dumps. Retain these files as the developers may 2.222 -wish to see them if you post on the mailing list. 2.223 +and XenLinux kernels that contain debug symbols such as 2.224 +(\path{xen-syms-2.0.6} and \path{vmlinux-syms-2.6.11.11-xen0}) which 2.225 +are essential for interpreting crash dumps. Retain these files as the 2.226 +developers may wish to see them if you post on the mailing list. 2.227 2.228 2.229 \section{Configuration} 2.230 @@ -280,23 +258,23 @@ distribution. The entry should look som 2.231 2.232 {\small 2.233 \begin{verbatim} 2.234 -title Xen 2.0 / XenLinux 2.6 2.235 - kernel /boot/xen-2.0.gz dom0_mem=131072 2.236 +title Xen 3.0 / XenLinux 2.6 2.237 + kernel /boot/xen-3.0.gz dom0_mem=131072 2.238 module /boot/vmlinuz-2.6-xen0 root=/dev/sda4 ro console=tty0 2.239 \end{verbatim} 2.240 } 2.241 2.242 The kernel line tells GRUB where to find Xen itself and what boot 2.243 -parameters should be passed to it (in this case, setting domain 0's 2.244 +parameters should be passed to it (in this case, setting the domain~0 2.245 memory allocation in kilobytes and the settings for the serial port). 2.246 For more details on the various Xen boot parameters see 2.247 Section~\ref{s:xboot}. 2.248 2.249 The module line of the configuration describes the location of the 2.250 XenLinux kernel that Xen should start and the parameters that should 2.251 -be passed to it (these are standard Linux parameters, identifying the 2.252 +be passed to it. Tthese are standard Linux parameters, identifying the 2.253 root device and specifying it be initially mounted read only and 2.254 -instructing that console output be sent to the screen). Some 2.255 +instructing that console output be sent to the screen. Some 2.256 distributions such as SuSE do not require the \path{ro} parameter. 2.257 2.258 %% \framebox{\parbox{5in}{ 2.259 @@ -307,25 +285,22 @@ distributions such as SuSE do not requir 2.260 2.261 2.262 If you want to use an initrd, just add another \path{module} line to 2.263 -the configuration, as usual: 2.264 - 2.265 +the configuration, like: 2.266 {\small 2.267 \begin{verbatim} 2.268 module /boot/my_initrd.gz 2.269 \end{verbatim} 2.270 } 2.271 2.272 -As always when installing a new kernel, it is recommended that you do 2.273 -not delete existing menu options from \path{menu.lst} --- you may want 2.274 -to boot your old Linux kernel in future, particularly if you have 2.275 -problems. 2.276 +When installing a new kernel, it is recommended that you do not delete 2.277 +existing menu options from \path{menu.lst}, as you may wish to boot 2.278 +your old Linux kernel in future, particularly if you have problems. 2.279 2.280 \subsection{Serial Console (optional)} 2.281 2.282 %% kernel /boot/xen-2.0.gz dom0_mem=131072 com1=115200,8n1 2.283 %% module /boot/vmlinuz-2.6-xen0 root=/dev/sda4 ro 2.284 2.285 - 2.286 In order to configure Xen serial console output, it is necessary to 2.287 add an boot option to your GRUB config; e.g.\ replace the above kernel 2.288 line with: 2.289 @@ -343,24 +318,23 @@ One can also configure XenLinux to share 2.290 achieve this append ``\path{console=ttyS0}'' to your module line. 2.291 2.292 If you wish to be able to log in over the XenLinux serial console it 2.293 -is necessary to add a line into \path{/etc/inittab}, just as per 2.294 -regular Linux. Simply add the line: 2.295 +is necessary to add a line into \path{/etc/inittab}. Add the line: 2.296 \begin{quote} {\small {\tt c:2345:respawn:/sbin/mingetty ttyS0}} 2.297 \end{quote} 2.298 2.299 -and you should be able to log in. Note that to successfully log in as 2.300 -root over the serial line will require adding \path{ttyS0} to 2.301 -\path{/etc/securetty} in most modern distributions. 2.302 +and you should be able to log in. To successfully log in as root over 2.303 +the serial line will require adding \path{ttyS0} to 2.304 +\path{/etc/securetty} if it is not already there. 2.305 2.306 \subsection{TLS Libraries} 2.307 2.308 Users of the XenLinux 2.6 kernel should disable Thread Local Storage 2.309 -(e.g.\ by doing a \path{mv /lib/tls /lib/tls.disabled}) before 2.310 -attempting to run with a XenLinux kernel\footnote{If you boot without 2.311 +(TLS) (e.g.\ by doing a \path{mv /lib/tls /lib/tls.disabled}) before 2.312 +attempting to boot a XenLinux kernel\footnote{If you boot without 2.313 first disabling TLS, you will get a warning message during the boot 2.314 process. In this case, simply perform the rename after the machine 2.315 is up and then run \texttt{/sbin/ldconfig} to make it take effect.}. 2.316 -You can always reenable it by restoring the directory to its original 2.317 +You can always reenable TLS by restoring the directory to its original 2.318 location (i.e.\ \path{mv /lib/tls.disabled /lib/tls}). 2.319 2.320 The reason for this is that the current TLS implementation uses 2.321 @@ -369,19 +343,19 @@ not disabled, an emulation mode is used 2.322 performance substantially. 2.323 2.324 We hope that this issue can be resolved by working with Linux 2.325 -distribution vendors to implement a minor backward-compatible change 2.326 +distributions to implement a minor backward-compatible change 2.327 to the TLS library. 2.328 2.329 2.330 \section{Booting Xen} 2.331 2.332 It should now be possible to restart the system and use Xen. Reboot 2.333 -as usual but choose the new Xen option when the Grub screen appears. 2.334 +and choose the new Xen option when the Grub screen appears. 2.335 2.336 What follows should look much like a conventional Linux boot. The 2.337 first portion of the output comes from Xen itself, supplying low level 2.338 -information about itself and the machine it is running on. The 2.339 -following portion of the output comes from XenLinux. 2.340 +information about itself and the underlying hardware. The last 2.341 +portion of the output comes from XenLinux. 2.342 2.343 You may see some errors during the XenLinux boot. These are not 2.344 necessarily anything to worry about --- they may result from kernel 2.345 @@ -389,5 +363,5 @@ configuration differences between your X 2.346 usually use. 2.347 2.348 When the boot completes, you should be able to log into your system as 2.349 -usual. If you are unable to log in to your system running Xen, you 2.350 -should still be able to reboot with your normal Linux kernel. 2.351 +usual. If you are unable to log in, you should still be able to 2.352 +reboot with your normal Linux kernel.
3.1 --- a/docs/src/user/introduction.tex Wed Nov 09 16:08:37 2005 +0100 3.2 +++ b/docs/src/user/introduction.tex Thu Nov 10 11:42:58 2005 -0500 3.3 @@ -2,7 +2,7 @@ 3.4 3.5 3.6 Xen is a \emph{paravirtualising} virtual machine monitor (VMM), or 3.7 -`hypervisor', for the x86 processor architecture. Xen can securely 3.8 +``hypervisor'', for the x86 processor architecture. Xen can securely 3.9 execute multiple virtual machines on a single physical system with 3.10 close-to-native performance. The virtual machine technology 3.11 facilitates enterprise-grade functionality, including: 3.12 @@ -11,7 +11,7 @@ facilitates enterprise-grade functionali 3.13 \item Virtual machines with performance close to native hardware. 3.14 \item Live migration of running virtual machines between physical 3.15 hosts. 3.16 -\item Excellent hardware support (supports most Linux device drivers). 3.17 +\item Excellent hardware support. Supports most Linux device drivers. 3.18 \item Sandboxed, re-startable device drivers. 3.19 \end{itemize} 3.20 3.21 @@ -28,7 +28,7 @@ system kernels must explicitly support X 3.22 space applications and libraries \emph{do not} require modification. 3.23 3.24 Xen support is available for increasingly many operating systems: 3.25 -right now, Linux and NetBSD are available for Xen 2.0. 3.26 +right now, Linux and NetBSD are available for Xen 3.0. 3.27 A FreeBSD port is undergoing testing and will be incorporated into the 3.28 release soon. Other OS ports, including Plan 9, are in progress. We 3.29 hope that that arch-xen patches will be incorporated into the 3.30 @@ -43,14 +43,14 @@ Possible usage scenarios for Xen include 3.31 \item [Multiple OS configurations.] Run multiple operating systems 3.32 simultaneously, for instance for compatibility or QA purposes. 3.33 \item [Server consolidation.] Move multiple servers onto a single 3.34 - physical host with performance and fault isolation provided at 3.35 + physical host with performance and fault isolation provided at the 3.36 virtual machine boundaries. 3.37 \item [Cluster computing.] Management at VM granularity provides more 3.38 flexibility than separately managing each physical host, but better 3.39 control and isolation than single-system image solutions, 3.40 particularly by using live migration for load balancing. 3.41 \item [Hardware support for custom OSes.] Allow development of new 3.42 - OSes while benefiting from the wide-ranging hardware support of 3.43 + OSes while benefitting from the wide-ranging hardware support of 3.44 existing OSes such as Linux. 3.45 \end{description} 3.46 3.47 @@ -58,44 +58,44 @@ Possible usage scenarios for Xen include 3.48 \section{Structure of a Xen-Based System} 3.49 3.50 A Xen system has multiple layers, the lowest and most privileged of 3.51 -which is Xen itself. 3.52 +which is Xen itself. 3.53 3.54 -Xen in turn may host multiple \emph{guest} operating systems, each of 3.55 -which is executed within a secure virtual machine (in Xen terminology, 3.56 -a \emph{domain}). Domains are scheduled by Xen to make effective use 3.57 -of the available physical CPUs. Each guest OS manages its own 3.58 -applications, which includes responsibility for scheduling each 3.59 -application within the time allotted to the VM by Xen. 3.60 +Xen may host multiple \emph{guest} operating systems, each of which is 3.61 +executed within a secure virtual machine. In Xen terminology, a 3.62 +\emph{domain}. Domains are scheduled by Xen to make effective use of 3.63 +the available physical CPUs. Each guest OS manages its own 3.64 +applications. This management includes the responsibility of 3.65 +scheduling each application within the time allotted to the VM by Xen. 3.66 3.67 -The first domain, \emph{domain 0}, is created automatically when the 3.68 -system boots and has special management privileges. Domain 0 builds 3.69 +The first domain, \emph{domain~0}, is created automatically when the 3.70 +system boots and has special management privileges. Domain~0 builds 3.71 other domains and manages their virtual devices. It also performs 3.72 administrative tasks such as suspending, resuming and migrating other 3.73 virtual machines. 3.74 3.75 -Within domain 0, a process called \emph{xend} runs to manage the 3.76 -system. \Xend is responsible for managing virtual machines and 3.77 -providing access to their consoles. Commands are issued to \xend over 3.78 -an HTTP interface, either from a command-line tool or from a web 3.79 +Within domain~0, a process called \emph{xend} runs to manage the 3.80 +system. \Xend\ is responsible for managing virtual machines and 3.81 +providing access to their consoles. Commands are issued to \xend\ 3.82 +over an HTTP interface, either from a command-line tool or from a web 3.83 browser. 3.84 3.85 3.86 \section{Hardware Support} 3.87 3.88 Xen currently runs only on the x86 architecture, requiring a `P6' or 3.89 -newer processor (e.g. Pentium Pro, Celeron, Pentium II, Pentium III, 3.90 -Pentium IV, Xeon, AMD Athlon, AMD Duron). Multiprocessor machines are 3.91 -supported, and we also have basic support for HyperThreading (SMT), 3.92 +newer processor (e.g.\ Pentium Pro, Celeron, Pentium~II, Pentium~III, 3.93 +Pentium~IV, Xeon, AMD~Athlon, AMD~Duron). Multiprocessor machines are 3.94 +supported, and there is basic support for HyperThreading (SMT), 3.95 although this remains a topic for ongoing research. A port 3.96 -specifically for x86/64 is in progress, although Xen already runs on 3.97 -such systems in 32-bit legacy mode. In addition a port to the IA64 3.98 +specifically for x86/64 is in progress. Xen already runs on such 3.99 +systems in 32-bit legacy mode. In addition, a port to the IA64 3.100 architecture is approaching completion. We hope to add other 3.101 architectures such as PPC and ARM in due course. 3.102 3.103 Xen can currently use up to 4GB of memory. It is possible for x86 3.104 machines to address up to 64GB of physical memory but there are no 3.105 -current plans to support these systems: The x86/64 port is the planned 3.106 -route to supporting larger memory sizes. 3.107 +plans to support these systems: The x86/64 port is the planned route 3.108 +to supporting larger memory sizes. 3.109 3.110 Xen offloads most of the hardware support issues to the guest OS 3.111 running in Domain~0. Xen itself contains only the code required to 3.112 @@ -112,23 +112,22 @@ other hardware by configuring your XenLi 3.113 3.114 Xen was originally developed by the Systems Research Group at the 3.115 University of Cambridge Computer Laboratory as part of the XenoServers 3.116 -project, funded by the UK-EPSRC. 3.117 +project, funded by the UK-EPSRC\@. 3.118 3.119 -XenoServers aim to provide a `public infrastructure for global 3.120 -distributed computing', and Xen plays a key part in that, allowing us 3.121 -to efficiently partition a single machine to enable multiple 3.122 -independent clients to run their operating systems and applications in 3.123 -an environment providing protection, resource isolation and 3.124 -accounting. The project web page contains further information along 3.125 -with pointers to papers and technical reports: 3.126 +XenoServers aim to provide a ``public infrastructure for global 3.127 +distributed computing''. Xen plays a key part in that, allowing one to 3.128 +efficiently partition a single machine to enable multiple independent 3.129 +clients to run their operating systems and applications in an 3.130 +environment. This environment provides protection, resource isolation 3.131 +and accounting. The project web page contains further information 3.132 +along with pointers to papers and technical reports: 3.133 \path{http://www.cl.cam.ac.uk/xeno} 3.134 3.135 -Xen has since grown into a fully-fledged project in its own right, 3.136 -enabling us to investigate interesting research issues regarding the 3.137 -best techniques for virtualising resources such as the CPU, memory, 3.138 -disk and network. The project has been bolstered by support from 3.139 -Intel Research Cambridge, and HP Labs, who are now working closely 3.140 -with us. 3.141 +Xen has grown into a fully-fledged project in its own right, enabling 3.142 +us to investigate interesting research issues regarding the best 3.143 +techniques for virtualising resources such as the CPU, memory, disk 3.144 +and network. The project has been bolstered by support from Intel 3.145 +Research Cambridge and HP Labs, who are now working closely with us. 3.146 3.147 Xen was first described in a paper presented at SOSP in 3.148 2003\footnote{\tt 3.149 @@ -137,7 +136,7 @@ first public release (1.0) was made that 3.150 significantly matured and is now used in production scenarios on many 3.151 sites. 3.152 3.153 -Xen 2.0 features greatly enhanced hardware support, configuration 3.154 +Xen 3.0 features greatly enhanced hardware support, configuration 3.155 flexibility, usability and a larger complement of supported operating 3.156 systems. This latest release takes Xen a step closer to becoming the 3.157 definitive open source solution for virtualisation.
4.1 --- a/docs/src/user/start_addl_dom.tex Wed Nov 09 16:08:37 2005 +0100 4.2 +++ b/docs/src/user/start_addl_dom.tex Thu Nov 10 11:42:58 2005 -0500 4.3 @@ -40,8 +40,7 @@ configuration file. We provide two examp 4.4 a starting point: 4.5 \begin{itemize} 4.6 \item \path{/etc/xen/xmexample1} is a simple template configuration 4.7 - file for describing a single VM. 4.8 - 4.9 + file for describing a single VM\@. 4.10 \item \path{/etc/xen/xmexample2} file is a template description that 4.11 is intended to be reused for multiple virtual machines. Setting the 4.12 value of the \path{vmid} variable on the \path{xm} command line 4.13 @@ -54,17 +53,17 @@ you may wish to edit include: 4.14 \begin{quote} 4.15 \begin{description} 4.16 \item[kernel] Set this to the path of the kernel you compiled for use 4.17 - with Xen (e.g.\ \path{kernel = `/boot/vmlinuz-2.6-xenU'}) 4.18 + with Xen (e.g.\ \path{kernel = ``/boot/vmlinuz-2.6-xenU''}) 4.19 \item[memory] Set this to the size of the domain's memory in megabytes 4.20 (e.g.\ \path{memory = 64}) 4.21 \item[disk] Set the first entry in this list to calculate the offset 4.22 - of the domain's root partition, based on the domain ID. Set the 4.23 + of the domain's root partition, based on the domain ID\@. Set the 4.24 second to the location of \path{/usr} if you are sharing it between 4.25 - domains (e.g.\ \path{disk = [`phy:your\_hard\_drive\%d,sda1,w' \% 4.26 + domains (e.g.\ \path{disk = ['phy:your\_hard\_drive\%d,sda1,w' \% 4.27 (base\_partition\_number + vmid), 4.28 - `phy:your\_usr\_partition,sda6,r' ]} 4.29 + 'phy:your\_usr\_partition,sda6,r' ]} 4.30 \item[dhcp] Uncomment the dhcp variable, so that the domain will 4.31 - receive its IP address from a DHCP server (e.g.\ \path{dhcp=`dhcp'}) 4.32 + receive its IP address from a DHCP server (e.g.\ \path{dhcp=``dhcp''}) 4.33 \end{description} 4.34 \end{quote} 4.35 4.36 @@ -72,7 +71,7 @@ You may also want to edit the {\bf vif} 4.37 the MAC address of the virtual ethernet interface yourself. For 4.38 example: 4.39 \begin{quote} 4.40 -\verb_vif = [`mac=00:06:AA:F6:BB:B3']_ 4.41 +\verb_vif = ['mac=00:06:AA:F6:BB:B3']_ 4.42 \end{quote} 4.43 If you do not set this variable, \xend\ will automatically generate a 4.44 random MAC address from an unused range. 4.45 @@ -116,6 +115,7 @@ distribution once they have mastered the 4.46 section of the project's SourceForge site (see 4.47 \path{http://sf.net/projects/xen/}). 4.48 \item Create a configuration file like the following: 4.49 + \begin{quote} 4.50 \begin{verbatim} 4.51 kernel = "/boot/vmlinuz-2.6-xenU" 4.52 memory = 64 4.53 @@ -124,11 +124,14 @@ nics = 1 4.54 ip = "1.2.3.4" 4.55 disk = ['file:/path/to/ttylinux/rootfs,sda1,w'] 4.56 root = "/dev/sda1 ro" 4.57 -\end{verbatim} 4.58 +\end{verbatim} 4.59 + \end{quote} 4.60 \item Now start the domain and connect to its console: 4.61 + \begin{quote} 4.62 \begin{verbatim} 4.63 xm create configfile -c 4.64 \end{verbatim} 4.65 + \end{quote} 4.66 \item Login as root, password root. 4.67 \end{enumerate} 4.68