Interested in helping with the Debian/Xen packages? Please go to DebianPackageMaintenance
Debian 3.1 sarge does not directly support Xen, but it's also not incompatible in any way
The main distribution does not contain any Xen related packages, those are currently located in project/experimental (check that path on your mirror, and add it to your /etc/apt/sources.list if you like). However, the programs and scripts coming with the Xen install tarball work fine, too. (Apart from minor cosmetical issues in the init.d scripts...)
What needed most work for me was to get TLS work smoothly. Unfortunately, it does not work to dpkg-divert /lib/tls, because one cannot divert whole directories. Even if you rename /lib/tls, every future libc6 upgrade will recreate /lib/tls again, triggering the well-known noisy warnings. The preferred solution for the TLS issue still is to build a proper, Xen-compatible libc6. As a workaround, you can try the DebianTlsLibcDiversion script.
Debian sarge comes with glibc-2.3.2 and gcc-3.3. The latter doesn't know yet the -mno-tls-direct-seg-refs option recommended in XenSpecificGlibc. But the good news: I've just tried to build a libc6-i686 with only the patch but without the option, and it seems to work nice! (no warnings, NPTL working) I've put that package intohttp://www.hodek.net/debian/dists/sarge/roman/binary-i386.
There are various collections of Debian packages for Xen. Most of them are in various states of disrepair. Hopefully there will be a canonical set of packages in the near future (if we can all work together...)
http://packages.debian.org/experimental/misc/xen (currently 2.0.5)
http://meadowcourt.org/xen/ (currently has permissions problems on some of the files)
there was a set of packages from COSI - Clarkson Open Source Institute, including an installer and gui, but none of the downloads seem to be currently available. http://cosi.clarkson.edu/xen/download.php has an installer and some domU images of an alpha release, gXenophilia, etc. (2005-07-05)
http://mirror.clarkson.edu/pub/distributions/xenophilia/xendebs/debian - current stable/unstable packages from the Clarkson people (2005-08-25)
EDIT from one of the creators of the sets of packages in disprepair...
If you are curious about the state of the "canonical" set of packages, please try this thread:
Also, I have made our internal packages publicly available - the above link is correct to browse the packages, but if you want to add to your /etc/apt/sources.list the appropriate entry is:
deb http://www.option-c.com/debian/ experimental main
The meta-package "xen-system" should get you most of what you need. Our directions (which have currently been tested, but that is no guarantee):
2005-08-05: Need the newest version, and willing to throw caution to the wind? Here's what we're testing now...
See also http://www.xmlvalidation.com/xen_howto_sarge.0.html.
Note that xfrd in the Xen 2.0.6 binary tarball does not work in Debian Sarge because it's linked against libraries that don't exist. You can work around it by doing this (but it's a pretty ugly hack):
gont(root)# ln -s /usr/lib/libcrypto.so.0.9.7 /usr/lib/libcrypto.so.4 gont(root)# ln -s /usr/lib/libssl.so.0.9.7 /usr/lib/libssl.so.4 gont(root)# ln -s /usr/lib/libcurl.so.3.0.0 /usr/lib/libcurl.so.2
Manual Install of Xen
I encountered the following problems when setting up Debian 3.1 as a DomU on Xen3.0 Unstable for the XenDemoLaptop:
- When booting, I get "Couldnt get a file decriptor referring to the console" about 100 times.
- Fix: Remove /etc/rcS.d/S05initrd-tools.sh
- When booting, I get lots of "FATAL: Module blah not found"
- Fix: Remove offending modules from file /etc/modules
- When booting, after it says "Starting hotplug subsystem:" some of the say "[failed]"
- Fix: Move offending modules out of /etc/hotplug/
If you get
INIT: Entering runlevel: 5 INIT: Id "1" respawning too fast: disabled for 5 minutes ... INIT: Id "6" respawning too fast: disabled for 5 minutes INIT: no more processes left in this runlevel
when booting, you must mount the root file system and create tty's devices:
mount -o loop xen-root /mnt/xen-root cd /mnt/xen-root/dev ./MAKEDEV tty1 tty2 tty3 tty4 tty5 tty6 cd / umount /mnt/xen-root
