| Tell me more, tell me more |
Xen kernel compilation
This page sets out how we compile our a Linux kernel when running Virtual Machines on the Xen hypervisor. No custom kernel is required when using KVM, as KVM PV drivers are included in the default kernel. You can use any Linux kernel on Extility platform running Xen, but for best results, the kernel should support Xen PV drivers in HVM mode. These are normally pretty tricky to compile, so we’ve simplified the process somewhat.
Build instructions
We compile our kernels using Ubuntu Lucid as the base operating system. You will need our patch set, located here. These instructions assume you are building the Ubuntu Linux 2.6.32-25 image. You should be able to adapt this to any recent kernel.
To build the kernel, execute the following commands (assuming the patches are in the current working directory):
tar xvzf pvdrivers.20010509-1955.tgz sudo apt-get install fakeroot kernel-wedge build-essential makedumpfile kernel-package sudo apt-get build-dep linux sudo apt-get build-dep --no-install-recommends linux-image-2.6.32-25-server apt-get source linux-image-2.6.32-25-server cd linux-2.6.32 cat ../pvdrivers.20100509-1955*.patch | patch -p1 # Change the next command to reflect the number of processors plus one export CONCURRENCY_LEVEL=5 fakeroot debian/rules clean skipabi=true skipmodule=true fakeroot debian/rules binary-indep skipabi=true skipmodule=true fakeroot debian/rules binary-perarch skipabi=true skipmodule=true fakeroot debian/rules binary-hvmflexiant cd ..
This will produce the following files in your current directory (click on them to download pre-built versions):
- linux-doc_2.6.32-25.44_all.deb
- linux-headers-2.6.32-25-hvmflexiant_2.6.32-25.44_amd64.deb
- linux-headers-2.6.32-25_2.6.32-25.44_all.deb
- linux-image-2.6.32-25-hvmflexiant_2.6.32-25.44_amd64.deb
- linux-source-2.6.32_2.6.32-25.44_all.deb
- linux-tools-2.6.32-25_2.6.32-25.44_amd64.deb
- linux-tools-common_2.6.32-25.44_all.deb
Note the .deb files without “flexiant” in the name should be not differ materially from the files of the same name distributed by Ubuntu.
To make the meta packages, you will need to do this:
apt-get source linux-meta cd linux-meta-2.6.32.25.27 patch -p1 < ../pvdrivers.meta.patch debuild cd ..
which will make a large number of additional kernel packages, of which you are likely to need the following (click on them to download):
