[arch-general] Xen for Arch Linux

RedShift redshift at pandora.be
Sun Jun 8 18:21:47 EDT 2008


Hi all,

I've been keeping busy today with Xen for Arch Linux. I've created the 
following packages:

-> This package contains the userland tools to administer a Xen dom0 host.
xen-3.2.1-1-i686.pkg
http://archserver.be/packages-devel/xen-3.2.1-1-i686.pkg.tar.gz


-> This package contains the Xen hypervisor/dom0 kernel.
linux-xen-2.6.18_xen_3.2.0-1-i686.pkg
http://archserver.be/packages-devel/linux-xen-2.6.18_xen_3.2.0-1-i686.pkg.tar.gz


As Xen uses a heavily modified linux kernel, it cannot easily be ported 
to more current kernel versions. So:
1) You're stuck with whatever hardware 2.6.18 supports
2) We have to use GCC 3.4 to compile this
3) It needs a patch because of using GCC 3.4 (xentime-gcc34.patch) :-(

The kernel configuration is currently the default one that comes with 
Xen. Most drivers are compiled in statically. I plan to update the 
configuration to match Arch Linux's stock kernel.

The kernel package does NOT provide support for running AS A 
paravirtualized* GUEST. The goal of these packages is make the system 
run guest OS'es without any modifications. This means you need hardware 
virtualization support. You can check for hardware VT if you have either 
vmx or svm (respectively Intel's and AMD's virtualization technology) in 
/proc/cpuinfo. I do not intend to support paravirtualization (see TODO).

I've only tested i686. I can natively run m$ windoze (with networking) 
on these packages, so the basics work.

The xen package should compile and work on x86_64. The linux-xen package 
has not even been compiled on x86_64 and will not work ATM.

I've started a wiki article for Xen too, 
http://wiki.archlinux.org/index.php/Xen

You can grab the PKGBUILDs here:
* linux-xen: http://archserver.be/packages-devel/linux-xen.tar
* xen: http://archserver.be/packages-devel/xen.tar

Still TODO:
* x86_64 support
* update kernel config to match Arch Linux's stock kernel
* finish the wiki article, create an example scenario
* fix initscripts for xen package (they are currently in etc/init.d)
* paravirtualization: from what I've read, the kernel can be configured 
to function both as hypervisor and guest. The traditional way is to have 
two kernels in the distro: one for dom0 and one for domU. It would be 
great to combine these two - but I'd like some advice on this one. Does 
it have performance implications?
-> If having both dom0 and domU support in the same kernel has no 
negative side-effects I will support paravirtualization. If it does have 
side-effects that are unacceptable I will not support paravirtualization.

(Paravirtualization is virtualization without hardware support from the 
CPU. This means the guest OS has to be made compatible with Xen in order 
to run. This is why you see for example xenU or domU kernels: these are 
meant to be used inside a Xen domain if the Xen host doesn't have 
hardware VT)

Any feedback is appreciated.

Glenn




More information about the arch-general mailing list