Admin/InstallingXen

install xen3 kernel hg clone hg tags hg co comment out kernel stuff make

--- a/xen/arch/x86/mm.c Mon Jan 30 12:35:43 2006
+++ b/xen/arch/x86/mm.c Mon Jan 30 13:47:45 2006
@@ -1972,7 +1972,7 @@
     struct vcpu *v = current;
     struct domain *d = v->domain;
     unsigned long type_info;
-    struct domain_mmap_cache mapcache, sh_mapcache;
+    struct domain_mmap_cache mapcache = {0,0,0}, sh_mapcache;

     LOCK_BIGLOCK(d);

Installing Xen

Xen on skynet is compiled from source. Currently version 2.0.7 is being used.

Source is on /usr/src/xen on all machines.

To compile and install:

# make install 

And thats it :) This will install the kernels and the tools. There is a problem when using lvm for the root that you need an initrd to set up the mapper. Lvm2 provides a script for creating this in /usr/share/doc/lvm2/examples/lvm2create_initrd.gz. Uncompress it and run it with the kernel version after.

# ./lvm2create_initrd 2.6.11.12-xen0 

This will create the initrd in /boot and you can configure grub as the example below.

You need to install some extras for xend to work correctly. Firstly to allow networking you need bridge-utils.

# apt-get install bridge-utils

Also, xend needs the twisted and logging python packages. You can get these from apt for let xen's Makefile install them for you.

# make install-twisted install-logging

To make sure xend starts on startup, and the virtual machines are started:

# update-rc.d xend defaults
# update-rc.d xendomains defaults 

Lastly, /lib/tls must be moved because it causes conflicts within Xen.

Example Grub config

title           Debian GNU/Linux, Xen-2.0.7/linux-2.6.11
root            (hd0,0)
kernel          /xen.gz dom0_mem=32768 
module          /vmlinuz-2.6-xen0 root=/dev/ram0 lvm2root=/dev/mapper/bendervg-root ro acpi=off 
module          /initrd-lvm2-2.6.11.12-xen0.gz
savedefault
boot

last edited 2006-02-13 12:45:38 by 10