Dom0

For installing Dom0 on etch you have to do a regular install, while keeping the following in mind and doing the extra stuff at the end.

Considerations: diskspace and RAM

The only things influencing the installation through d-i of the xen environment are diskspace and RAM. To start with the last: usually 196 MB RAM is needed for domain0. You can do with less: 128MB and I've even seen reports from people running with 64MB or even 32MB, but keep to defaults if this is your first time with xen. Aditional functionality for domain0 like dhcpd, iptables and installation services (eg. apache with apt-proxy) claim more. For a default domain0 you need 512MB diskspace and then you've got to keep an eye on it, so do at least 1GB. I use 2GB to be safe. For simplicities sake I keep it all in 1 filesystem. Local requirements for logging, accounting and/or auditing may claim extra. Swap space is the usual rule of thumb: RAM * attention. General methods for storing your user-domains file data are, in the order of preference: external san/nfs, local lvm2, local partitions, local files.

Installation

Pop in your installation media (be it CD, DVD, PXEboot, whatever), and commence with a standard Debian installation. Pick a standard kernel and make sure to use GRUB as your bootloader, and LILO and Xen don't play well with one another. That's it. Once you have the installation completed, reboot and log in.

Once you're in, you’ll need to update your apt cache, so type "apt-get update". Next we’ll install Xen with "apt-get install xen-hypervisor-3.0.3-1-amd64 xen-linux-system-2.6.18-4-xen-amd64 xen-tools xen-utils-3.0.3-1 xen-ioemu-3.0.3-1 bridge-utils". This provides the basic Xen packages, as well as the network bridging utilities and the xen-tools package, which we’ll be using later. Additionally, these version numbers are current as of writing. You may want to check what’s out there now by running an apt-cache search on xen- and looking near the end of the list. They're also architecture specific on amd64 platforms. If you're an i386 user, you'll want to check for packages that fit your arch.

Once your packages are downloaded and installed, you’ll want to make a couple quick edits. First we’ll need to change the networking options within the xen config file so that future domUs will be able to connect to the net. To do that, edit /etc/xen/xend-config.sxp and uncomment "(network-script network-bridge)" midway through the file, then comment out "(network-script network-dummy)" a few lines beneath it. Next we’ll go edit /etc/xen-tools/xen-tools.conf and make sure that our toolkit is ready to use. Xen-tools is a great little suite that makes your life easier when it comes to making lots of little Debian VPSs (domUs) on your server. Canvass the config file to make sure that it's up to snuff and reflecting the parameters of your system before you use it, though.

Once all that fun is done, feel free to reboot into the new xen kernel and start spawning lots of little domUs!

Ref:

http://lists.xensource.com/archives/html/xen-users/2006-09/msg00966.html (dd. 20070930) en-unstable.

DomU

You can start d-i in DomU by

creating a DomU config file with the xen DomU kernel and the initrd from the netboot images (http://ftp.nl.debian.org/debian/dists/testing/main/installer-i386/beta3/images/netboot/netboot.tar.gz) and granting the DomU (or user-domain) read/write acces to some empty pre-created filesystems you want to use in it since you definitely do not want to give the DomU access to your mbr. You need to copy the DomU kernel's /lib/modules/<version> to the initrd.

It works, I did this some months ago with the 3.0.1 xen version from backports.org, but am unable to reproduce due to the current state of the xen software on etch and backports.org. Waiting for http://lists.alioth.debian.org/pipermail/pkg-xen-devel/2006-September/000739.html, I suppose :-(

(mm) I've tried following this path, as I find myself annoyed at the limitations of xen-tools and the amount of manual setup debootstrap leaves. It seems to be usable with the released Etch Xen. There are some rough spots - keyboard config fails (left it unchanged), no kernel modules were found... Partitioning is a bit of a surprise, though. The trick seems to be to format all the partitions (I'm using LVM and testing with /dev/sda1 and /dev/sda2 as disk and swap), otherwise the partitioner will insist on creating partition tables for them. Didn't experiment to see how that would work out as I really didn't want partitioned partitions! Other problems (some of which I could have avoided):

(/mm)

In the mean time the easiest way to create a domU filesystem from a dom0 is by following ["Installing Debian GNU/Linux from a Unix/Linux System"]; http://www.debian.org/releases/stable/i386/apcs04.html.en ;

/!\ Work in progress, your help is appreciated

DomU graphical

I guess it must be possible to do this, maybe in a similar way as the DomU, through the xen native vnc support or in a straight X11 session over a network connection with the ssh console option (does the graphical installer have X11 client support?).

To boot a domU with graphical (VNC) access use the following options :

and then

/!\ Work in progress, your help is appreciated

Using HVM (VT processors)

Make sure you have the "xen-ioemu" package installed

Sample config file :

Resources