Compilation de kernel pour Debian

août
2

Un petit article pour m'éviter une recherche google à chaque nouvelle compilation de kernel.

Edit : ajout de la méthode pour contourner le bug Debian sur la génération de l'initrd.

Etape 0 [Préliminaire] :

aptitude install kernel-package ncurses-dev fakeroot wget bzip2

Étape 1 : Récupérer les sources sur kernel.org

Etape 2 : Extraire le fichier :

tar xjf {LEFICHIER}
cd linux-[REVISIONDUKERNEL]

Étape 3 : Récupérer le .config:

cp /boot/config-{REVISIONDUKERNELPRECEDENT} ./.config

Étape 4 : Modifier le .config :

make menuconfig

Etape 5 : Compiler

make-kpkg clean
>> make-kpkg --rootcmd fakeroot --initrd --revision=custom.1.0 kernel_image kernel-headers

Etape 6 : Installer :

cd ..
dpkg -i *.deb

/!\Les versions Squeeze et Sid de Debian sont beuguées
L'initrd n'est pas généré, pour ce faire, il suffit de tapper :
update-initramfs -c -k [REVISIONDUKERNEL]

Puis de modifier le menu.lst de grub ainsi :

title Debian GNU/Linux, kernel 2.6.30.5 (single-user mode)
root (hd0,2)
kernel /vmlinuz-2.6.30.5 root=/dev/sda5 ro single
+++initrd /initrd.img-2.6.30.5

title Debian GNU/Linux, kernel 2.6.30-1-amd64
root (hd0,2)
kernel /vmlinuz-2.6.30-1-amd64 root=/dev/sda5 ro
+++initrd /initrd.img-2.6.30-1-amd64