Sauter la navigation.
Accueil
Groupe d'Utilisateurs de GNU/Linux et de Logiciels Libres Francilien

Debian : Compiler son kernel sous debian avec make-kpkg

Écrit par Philippe Marsall, pmars [AT] free.fr

1. Prérequis

Les packages suivants sont nécessaires :

  • kernel-package
  • bin86
  • libncurses5-dev
kernel-package
contient le programme make-kpkg
bin86
assembleur 80x86, insipensable pour recompiler
libncurses5-dev
nécessaire pour make menuconfig

2. Marche à suivre

Méthode :

  1. récupérer un noyau officiel sur le Net. Actuellement sur le site officiel le dernier moyau disponible est le 2.4.7.
  2. décompresser l'archive dans /usr/src. Une bonne méthode consiste à d'abord créer un répertoire avec le numéro du noyau et de créer un lien symbolique qui pointe dessus.


# pwd
/usr/src
# tar xzvf linux-2.4.7.tar.gz
# mv linux linux-2.4.7
# ln -s linux-2.4.7 linux

3. Explications

Le tarball se décompresse dans linux, qu'on renomme en linux-2.4.7, et on fait ensuite un lien symbolique "linux" qui pointe vers ce répertoire. Comme ça, en procédant de même pour les prochains noyaux, on conservera les sources bien répertoriées avec leur numéros correspondants, et on se contentera de faire pointer le lien symbolique vers la version que l'on souhaite compiler.

Ensuite :


$ cd linux
$ make menuconfig

Choisir les options, le fichier /usr/src/linux/Documentation/Configure.help est incontournable pour cela, on trouve une traduction en français ici

4. Compilation


$ make-kpkg --revision=tolkien.1.0 kernel_image

Cette commande compile le noyau ainsi que les modules et te crée le fichier kernel-image-2.4.7_tolkien.1.0_i386.deb dans le répertoire /usr/src/.

Si on installe une version différente de celle qui est installée, rien a faire. Sinon suivre ces quelques manip de précaution :

$ cd /lib/modules
$ mv 2.4.7 2.4.7_orig
$ cd /boot/
$ mv System.map-2.4.7 System.map-2.4.7_orig
$ mv config-2.4.7 config-2.4.7_orig
$ mv vmlinuz-2.4.7 vmlinuz-2.4.7_orig

Il ne restes plus qu'a installer le nouveau noyau :

$ cd /usr/src/
$ dpkg -i kernel-image-2.4.7_tolkien.1.0_i386.deb

Répondre aux questions (si on ne comprend pas, laisser les réponses par défaut).
Il va installer (ou xxxx est la version du noyau) :

  • les modules dans /lib/modules/xxxx/
  • /boot/System.map-xxxx
  • /boot/config-xxxx
  • /boot/vmlinuz-xxxx

5. Démarrer sur le nouveau noyau

Enfin, il reste lilo. Debian crée un lien symbolique de la racine vers /boot/vmlinuz-xxxx et renommé l'ancienne entrée en old. taper 'lilo -v' (trés important, cette commande ne sert pas seulement à modifier les entrées, elle sert surtout à installer dans le boot secteur le bon noyau. Autrement dit, meme si on ne change rien dans lilo.conf mais que l'on compile un nouveau noyau, il *faut* lancer la commande lilo).