Continuons sur notre lancée et essayons maintenant d'installer le kernel 2.6.18. Actuellement, nous sommes en 2.6.8-3.

Le noyau 2.6.18 peut être récupéré directement sur kernel.org ou alors sur les mirroirs Debian. Etant toujours en version Sarge, je vais donc dans un premier temps modifier le /etc/apt/sources.list pour aller sur les dépôts de Etch :
deb http://ftp2.fr.debian.org/debian/ etch main contrib non-free
deb-src http://ftp2.fr.debian.org/debian/ etch main contrib non-free
deb http://security.debian.org/ etch/updates main contrib non-free
deb http://security.debian.org/ etch/updates main contrib

Ensuite, on fait une mise à jour de notre base apt :
# apt-get update

Il n'est pas trop conseiller de compiler le noyau à partir de root. Nous allons donc créer un utilisateur s'appelant kernel et appartenant au groupe src :
# useradd -G src kernel

Nous changeons son mot de passe
# passwd kernel

Installation des outils de compilation
Comme nous décidons de compiler nous-même le noyau, nous allons installer les outils nécessaires à cette étape via le paquet kernel-package.
# apt-get install kernel-package

Ce paquet contient notamment la commande make-kpkg qui permet de créer un paquet à partir des sources du noyau. Vous pouvez vérifier que cette commande existe bien :
# which make-kpkg
/usr/bin/make-kpkg

A cause de changement dans le noyau, l'utilitaire initrd-tools, utilisé pour générer les initrd dans Sarge, ne peut plus être utilisé. Il est nécessaire de récupérer le paquet initramfs-tools (yaird pourrait être choisi également mais n'est pas le plus approprié).
# apt-get install initramfs-tools

Nous allons rechercher les sources du noyau disponibles au format Debian. Avec Etch, tous les paquets de noyau Linux ont été renommés de kernel-* en linux-*.
# apt-cache search --names-only "linux-source"
linux-source-2.6.18 - Linux kernel source for version 2.6.18 with Debian patches

Récupérons le paquet :
# apt-get install linux-source-2.6.18
Reading Package Lists... Done
Building Dependency Tree... Done
Suggested packages:
  libncurses-dev kernel-package libqt3-mt-dev
The following NEW packages will be installed:
  linux-source-2.6.18
0 upgraded, 1 newly installed, 0 to remove and 793 not upgraded.
Need to get 41.4MB of archives.
After unpacking 41.5MB of additional disk space will be used.
Get:1 http://security.debian.org etch/updates/main linux-source-2.6.18 2.6.18.dfsg.1-12etch1 [41.4MB]
Fetched 41.4MB in 47m35s (14.5kB/s)                                                                                                                                              
debconf: unable to initialize frontend: Gnome
debconf: (Unable to load Gnome -- is libgnome2-perl installed?)
debconf: falling back to frontend: Dialog
Selecting previously deselected package linux-source-2.6.18.
(Reading database ... 107122 files and directories currently installed.)
Unpacking linux-source-2.6.18 (from .../linux-source-2.6.18_2.6.18.dfsg.1-12etch1_all.deb) ...
Setting up linux-source-2.6.18 (2.6.18.dfsg.1-12etch1) ...

Le paquet est stocké sous  /usr/src :
# ls -ltr /usr/src | tail -1
-rw-r--r--  1 root root 41381108 Apr  9 20:10 linux-source-2.6.18.tar.bz2

Là encore, il n'est pas trop conseillé de le compiler directement à partir de cet emplacement. Nous le copions donc dans un autre répertoire (ici data).
# cp linux-source-2.6.18.tar.bz2 /data

Nous nous connectons avec le user kernel
# su - kernel

Nous allons dans le répertoire sous /data où se trouve le paquet du noyau :
$ cd /data

Nous le décompressons et le désarchivons :
$ tar xvjf linux-source-2.6.18.tar.bz2

Nous avons maintenant un répertoire linux-source-2.6.18
$ ls -ltr
drwxr-xr-x 21 kernel users      4096 May  7 02:20 linux-source-2.6.18

On va dans ce répertoire :
$ cd linux-source-2.6.18

Compilation du paquet
$ make-kpkg --rootcmd fakeroot --initrd --append-to-version=.`date +%Y%m%d.%H%M` --revision=2.6.18 kernel-image

A partir de ce moment, vous pouvez consulter cette page http://linux.developpez.com/guide/a12859.html pour la meilleure configuration de votre noyau.

Un paquet du noyau est ainsi créé sous le répertoire parent de l'arbre du noyau
$ ls /data/*.deb
linux-image-2.6.18.20070506.1815_2.6.18_i386.deb

Installation du paquet en root
$ su - root
# cd /data
# dpkg -i linux-image-2.6.18.20070506.1815_2.6.18_i386.deb

Puis après on reboot
# init 6

Une fois que vous avez rebooté, vous pouvez contrôlé que votre nouveau kernel est bien installé :
# uname -r
2.6.18.20070506.1815