Installation for Xeno-Unstable (2.0 in making)
Following instructions are based on my experience in installing xen on
Redhat 9 system, though it should work for any latest linux
distribution.
Pre Requisites
- python Twisted network application framework. You can download this from here . You then
install with "tar -zxf
Twisted-1.3.0.tar.gz ; cd Twisted-1.3.0 ; python setup.py install".
- Make sure bridge-utils are installed (i.e, you can use brctl). If not,
either install the rpm, or download the latest source from here
- Xen tools require curl library and header files. It seems they are not there by default in Mandrake and Debian distributions
- For Mandrake, You can get it
off of a Mandrake Cooker mirror
- On Redhat 9, make sure you have installed curl-devel rpm, thought it should be installed by default most of the times.
Building and Installation
- Download the latest source code: get
- Build
- "make world" in
the top directory will build everything - i.e. xen VMM,
linux-2.4.26-xen0, linux-2.4.26-xenU and domain control tools.
This downloads the linux-2.4.26 source code and
ebtables-brnf-5_vs_2.4.25.diff patch. Following directories are
created:
- linux-2.4.26-xen0 - contains the linux build tree for
domain0.
- linux-2.4.26-xenU - contains the linux build tree for
guest domain.
- install - which contains the all install files generated
as part of make.
- "make install"
(required root user) will install everything.
- /boot :
contains xen.gz (xen VMM) and kernel images for domain 0 and guest
domain - i.e. vmlinuz-2.4.26-xen0, vmlinuz-2.4.26-xen0 along with their
symbol files
- /etc/xen :
contains xen config files
- /usr/bin/:
contains xen domain control tools
-
/usr/lib/python2.2/site-packages : will contain python library
used by tools
- /lib/libxc.so.1.2:
library used by control tools
-
/lib/modules/linux-2.4.26-xen* - kernel modules
- Updating 'grub' (Lilo won't work as Xen use multiboot
standard) : add following entry in /boot/grub/grub.conf:
title Xen VM
root
(hd0,x)
kernel
/boot/xen.gz dom0_mem=131072 watchdog com1=115200,8n1 noht
module
/boot/vmlinuz-2.4.26-xen0 root=/dev/hdax ro console=tty0
Make sure to replace x with appropriate
number for your root partition. Users having separate boot partition
will require to change appropriately.
Device Drivers / Modules
Xen can support all device drivers supported in source by linux. It may
support binary-only driver in some cases, but not always.
- Adding support for drivers/modules which are not configured
by default:
- You can edit the 'install/boot/config-2.4.26-xen*"
files to enable the driver/module you want. Follow it with a
'make world; make install'. 'make world' uses install/boot/config-2.4.26-xen*
files if they exist instead of default ones. - Mostly you want to
update the config-2.4.26-xen0
file, as device drivers are compiled in domain0. Editing config-2.4.26-xenU will be
useful if you want to enable some non-device module in guest
domain.
- If you don't like editing files by hand, you can go to linux-2.4.26-xen* directory and
do a 'make ARCH=xen menuconfig'
- remember to copy the '.config' file to 'install/boot/config-2.4.26-xen*' directory
after that to keep the configuration (as make world will overwrite the
.config file)