Flexiant Ltd
  • Home
  • About Flexiant
    • Our Team
    • Careers
    • Partners
    • Events
    • Legal Information
    • Privacy Policy
    • Site Map
  • Products
    • Extility Overview
    • Benefits
    • Features & Editions
    • Service Provider Edition
    • Foundation Edition
    • Free Trial
    • FAQs
    • Hardware Specifications
    • Downloads
  • Support
    • Support Desk
    • Reference
      • Integration
      • Extility API
      • Image creation
      • Metadata
      • Xen kernel compilation
      • VM performance
      • Image Verification
    • One Hour Kickstart
    • Open Source
      • dhcpd + SQL
      • sparsecopy
  • News
  • Blog
  • Contact
Breadcrumb
Home > Support > Reference > Xen kernel compilation
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):

    • linux-headers-hvmflexiant_2.6.32.25.27_amd64.deb
    • linux-hvmflexiant_2.6.32.25.27_amd64.deb
    • linux-image-hvmflexiant_2.6.32.25.27_amd64.deb
  • Integration
  • Extility API
  • Image creation
  • Metadata
  • Xen kernel compilation
  • VM performance
  • Image Verification

Free Trial

© Flexiant Ltd 2011
Legal | Site map