This page describes how to install my Linux-VServer kernel images built for Ubuntu Dapper and Edgy. I've since moved to KVM so, while these packages still work extremely well, they will probably never be updated.

Installation Instructions

Install instructions can be found on the Ubuntu Wiki as well. See Linux-VServer for usage instructions.

1. Add my Edgy repository key to apt's keyring (this step is optional):

$ wget -O - | sudo apt-key add - 

2. Add the following repositories to your /etc/apt/sources.list. Read this page for instructions on how to add repositories.

deb edgy vserver
deb-src edgy vserver

3. Install the software packages and the kernel. Instead of "vserver-generic," you can also specify any flavor you like: "vserver-i386", ""vserver-server", etc. Run 'cat /proc/version' to see what flavor kernel you're running now.

$ sudo apt-get install util-vserver vserver-debiantools 
$ sudo apt-get install linux-vserver-image-2.6.17-vserver-generic

Visit Linux-VServer for some notes on how to use Linux-VServer.

Package Releases

  • 16 Jan 2006, 11.1: Now using Falcon to manage repo; reprepo was just too opaque.
  • 20 Dec 2006, 11.1: The original source package included the entire git tree. Fixed.
  • 15 Dec 2006, 11.1: Initial release, x86 only.

Building the Package

First, install git and the dependencies needed to build the kernel.

 $ sudo apt-get install git-core
 $ sudo apt-get build-dep linux-vserver-source-2.6.17

All kernels are built from the git tree.

 $ git-clone
 $ cd linux-vserver-2.6.17

You should sign all packages that you build. Since you do not have my private key, you will have to sign with your own (see Dpkg/Signing for how to generate a private key). To tell dpkg to use your key, you add an entry to the change log with the exact name/email/comment from the key.

 $ debchange --nmu

And, build the package.

 $ MAKEFLAGS="" CONCURRENCY_LEVEL=1 time dpkg-buildpackage -pgpg -I.git -I.gitignore -rfakeroot 2>&1 | tee ../build-`date +%F-%T`.log

Specify -sa if you also want to generate a source package to upload. If you have multiple cores, change CONCURRENCY_LEVEL to the number of jobs that you want to run in parallel.

It's safe to remove the thousands of udeb packages that were produced (rm *.udeb). They're only useful if you're going to use this kernel with the Ubuntu installer.

Please consider putting your compiled packages online and adding a link to this page so others can find them.

NOTE: you cannot build 2.6.17 directly on Feisty (make-links has been removed from Feisty's kernel-wedge, the 2.6.17 tree uses make-links but 2.6.20 doesn't). You must use an edgy pbuilder.

Building under pbuilder

See Dpkg/pbuilder for more on how to use pbuilder. The best reason to use pbuilder is if you're currently running a different release than you'd like to compile (i.e. make Dapper LTS packages on your Feisty workstation, or produce x86 packages on your amd64 machine).

You will probably want to add the kernel build deps to your base bpuilder tree to save installing them each time you build.

manual pbuild

cd to the package root and run:

 $ MAKEFLAGS="" CONCURRENCY_LEVEL=2 time sudo pdebuild --auto-debsign --debbuildopts "-pgpg -I.git -I.gitignore" -- --basetgz ~/ubuntu/pbuilder/edgy.tgz 2>&1 | tee ../build-`date +%F-%T`.log

TODO: -pgpg is probably unnecessary.

As before, add -sa to debbuildopts if the source package has changed and you want to include the new one in the upload and change CONCURRENCY_LEVEL to match your number of cores.


There is now a script to automate this. Set up the configuration options in debian/kernel-pbuild, then run

 $ sudo debian/kernel-pbuild

And hopefully everything just works.


I'm having problems with this kernel. I'm installing it on my laptop, and while it boots correctly, the wireless (IPW3945-based) no longer works. It appears that the kernel is missing the wireless modules. -- 03:27, 6 March 2007 (PST)

It is. You can build them from the git tree if you need them.

For some reason, on 32-bit ubuntu, I am able to see the kernel images, but on 64-bit ubuntu server, I am not. This, even though the images claim to have both x86 and x86_64 support. Is there a different repository for 64-bit? Or are they just not viewable from 64-bit when they should be? -- 03:27, 6 March 2007 (PST)

I started to work on packaging 64-bit support but ended up switching to KVM instead. If you build the git tree yourself, it should support 64-bit, Sparc, etc, out of the box.