3. Décompression des sources du noyau

[Note]Note

Toutes les étapes décrites dans les sections suivantes de ce chapitre doivent être effectuées par l'utilisateur root.

Les sources du noyau sont à placer dans /usr/src. Il vous faut donc vous placer dans ce répertoire, puis y décompresser les sources :

# cd /usr/src
# mv linux linux.old
# tar xjf /path/to/linux-2.6.8.tar.bz2

La commande mv linux linux.old est nécessaire : en effet, vous disposez peut-être déjà des sources d'une autre version du noyau. Cette commande fait en sorte que vous ne les écrasiez pas. Une fois l'archive décompressée, vous disposez d'un répertoire linux-<version> (où <version> désigne le numéro de version du noyau) avec les sources du nouveau noyau. Vous pouvez créer un lien (ln -s linux-<version> linux) pour des raisons de commodité.

Maintenant, les patches. Supposons que vous vouliez effectivement patcher (corriger) du 2.6.8 vers le 2.6.10 et que vous avez téléchargé les patches nécessaires : rendez-vous dans le répertoire linux nouvellement créé, puis appliquez les patches :

# cd linux
# bzcat -dc /path/to/patch-2.6.9.bz2 | patch -p1
# bzcat -dc /path/to/patch-2.6.10.bz2 | patch -p1
# cd ..

De façon générale, passer d'une version 2.6.x à une version 2.6.y requiert que vous appliquiez tous les patches 2.6.x+1, 2.6.x+2, ...,2.6.y-1, 2.6.y dans l'ordre. Pour retourner à la version précédente de 2.6.y à 2.6.x, répétez exactement la même procédure mais en appliquant les patches dans l'ordre inverse et avec l'option -R de patch (R pour Reverse, soit inverse). Ainsi, pour repasser du noyau 2.6.10 au noyau 2.6.8, vous feriez :

# bzcat /path/to/patch-2.6.10.bz2 | patch -p1 -R
# bzcat /path/to/patch-2.6.9.bz2 | patch -p1 -R

[Astuce]Astuce

Si vous souhaitez tester si un correctif s'appliquera correctement avant de l'appliquer vraiment, ajoutez l'option --dry-run à la commande patch.

Ensuite, pour plus de clarté (et aussi pour vous y retrouver), vous pouvez le renommer linux pour refléter la version du noyau et créer un lien symbolique :

# mv linux linux-2.6.10
$ ln -s linux-2.6.10 linux

Il est maintenant temps de passer à la configuration.