3. The Solution

As a prerequisite, install the stock debian 2.6.8 kernel and boot it if you are not already running it (or a newer kernel). I will mention below why.

As a further prerequisite, we install some prerequisite packages which are either required to build or run the new kernel (or its build system).


# apt-get install cdbs quilt patchutils dh-buildinfo xmlto libhtml-template-perl udev autotools-dev tetex-bin pgp

Then, we want to get the sources of some packages from sid, Debian's experimental distribution. Therefore we add to our /etc/apt/sources.list


# for sid
deb http://ftp.de.debian.org/debian/ sid main non-free
deb-src http://ftp.de.debian.org/debian/ sid main non-free
and to make sure that the next update does not upgrade our Sarge to Sid, we add the following to our /etc/apt/apt.conf:

APT::Default-Release "3.1*";
To update our packages lists, we run apt-get update.

Then, we fetch the source of yaird, texi2html, make, kernel-package and build and install the packages. The procedure to do so is described below for the yaird for example. The other packages are built and installed in the same way.


# apt-get source yaird
# cd yaird-0.0.11
# dpkg-buildpackage
# cd ..
# dpkg -i yaird_0.0.11-12_arch.deb
The version number of your yaird package may vary.

Once the four packages are installed, we are able to build our kernel as usual using make-kpkg with the --initrd option. The new make-kpkg will chose automatically yaird for kernels which require it by their version number.


# tar xjf linux-2.6.14.tar.bz2
# ln -s linux-2.6.14 linux
# cd linux
# cp your-favourite-dot-config .
# make oldconfig
# make menuconfig
# make-kpkg clean
# make-kpkg --initrd --append-to-version=-extraversion --revision=revision kernel-image

The resulting kernel package can now be installed with the usual


#  dpkg -i linux-image-whatever.deb
Note: this step fails during creation of the initial ramdisk if you are running a 2.4 kernel. The reason for this is that yaird somehow needs 2.6 kernel features. This is why as a prerequisite (mentioned above) we first need to install and boot to some 2.6 kernel, and then we can install our custom 2.6.14 kernel and boot it.

To install this package also on other machines which are running Sarge without any of the backported packages listed above, you need to do the following:


# apt-get install libhtml-template-perl udev
# dpkg -i yaird-whatever.deb
# dpkg -i linux-image-whatever.deb