How to Run Xen in Ubuntu Intrepid without compiling a Kernel by yourself

Update: Switch from Xen to KVM. How and why.

I got some strange errors when I tried to run OpenSolaris on Hardy as a HVM domain. These errors were fixed in 3.3, but Ubuntu Hardy doesn’t have Xen 3.3 and there were no backports at that time (don’t know if there are ones now) so I upgraded to Ubuntu Intrepid an then noticed that Canonical has dropped Xen Dom0 support. Great! Why the heck did they drop Xen? Because KVM is cooler? Or because they didn’t want to blame themselves by releasing another totally buggy self-patched Dom0 kernel? I mean they didn’t even manage to provide a working one later on so the community had to…and thats a LTS release? WTF?

O.K. well… You want Xen 3.3 with it’s improvements?  You don’t want to switch the distro? You don’t want to compile on your own? Here’s how I did it with Ubuntu Intrepid: I used the Xen 3.3 Hypervisor and Utils coming with Intrepid and then stole a Dom0 kernel from Debian. Debian has  linux-image-2.6.26-1-xen-amd64 and linux-modules-2.6.26-1-xen-amd64. I installed both packages and by now everything works great.

O.K. I called this post How-To so here comes how to install the Debian packages on Ubuntu. I will only show you how to install them by hand, you could also add the Debian repos to your sources.list and use pinning.

1
2
3
4
5
6
7
8
wget http://ftp.de.debian.org/debian/pool/main/l/linux-2.6/linux-modules-2.6.26-1-xen-amd64_2.6.26-10_amd64.deb
wget http://ftp.de.debian.org/debian/pool/main/l/linux-2.6/linux-image-2.6.26-1-xen-amd64_2.6.26-10_amd64.deb
sudo dpkg -i linux-modules-2.6.26-1-xen-amd64_2.6.26-10_amd64.deb
sudo dpkg -i linux-image-2.6.26-1-xen-amd64_2.6.26-10_amd64.deb
wget http://ftp.de.debian.org/debian/pool/main/l/linux-2.6/linux-modules-2.6.26-1-xen-amd64_2.6.26-12_amd64.deb
wget http://ftp.de.debian.org/debian/pool/main/l/linux-2.6/linux-image-2.6.26-1-xen-amd64_2.6.26-12_amd64.deb
sudo dpkg -i linux-modules-2.6.26-1-xen-amd64_2.6.26-12_amd64.deb
sudo dpkg -i linux-image-2.6.26-1-xen-amd64_2.6.26-12_amd64.deb
Or find the latest using these links: modules kernel That’s it. There are no other depends. Just reboot. The new kernel should now be the default one. But keep in mind that this is just a workaround.

If I should ever reinstall this Xen-Server: I WILL NOT USE UBUNTU ANYMORE! All these annoying stupid errors… Maybe Debian or CentOS. I mean… I like Ubuntu, it’s a great beginner distro and even lets the nerds control everything they want, but what Canonical delivered the last few months just sucks. All these annoying bugs they added by patching arround: Non-working sound, A buggy KDE4. O.K. you could say that’s all desktop related stuff, but on my server for example I had some very strange XFS errors with the Ubuntu-Server kernel that just disappeared with the (also newer, maybe that’s the point) Debian kernel.