KVM Kernels

The Kernel Virtual Machine allows guest systems to launched in two main ways:

  1. As fully emulated systems, from the BIOS up.
  2. As simple guests with external kernels (& optional initrd images).

We've chosen to go the latter route, to ease the migration from the previous Xen-based hosting. This means that all guests continue to load their kernels from a location external to the guest filesystems. The advantage of this is that you no longer need to partition your guest, nor do you need to install grub, or similar packages locally.

To counter the drawback of external kernels our km-shell allows you to choose from a range of pre-made kernels, allowing you the freedom to choose which kernel you wish to run under. However we know that this is not necessarily flexible enough - and you might wish to execute your own kernel.

The kernels installed as standard are available for download, along with the .config file used to build them, via rsync:

rsync -vazr kernels.kvm-hosting.net::kernels/ /tmp/kvm-kernels/

Any of the kernels listed there may be selected via the kernel command of the shell.


Uploading your own kernel / initrd images

In addition to the global kernels, which are available to all users, you also have the option of uploading a kernel (and optionally a matching initrd image) for your own use.

Each system user has a dedicated location of approximately 1Gb in size, and using rsync you may upload your own files to it from your guest. (i.e. The upload will only succeed if it is initiated from an IP address belonging to your guest.)

If your username is skx you can upload the kernels (+ optional initrd images) located in the local directory /tmp/upload/ via the following command:

rsync -vazr /tmp/upload/ kernels.kvm-hosting.net::skx-kernels/


Any kernels you upload should be in the top-level directory and should have filenames matching the regular expression /^linu[zx]/i.

Any initrd images you upload should also be in the top-level directory and should have filenames matching the regular expression /^init/.

Once you've made your uploads you may use the kernel and initrd commands available in the km-shell to choose which ones to use when your guest boots..