I. Introduction
La recompilation de kernel à la sauce Debian, n'est pas une chose très compliquée
à faire en respectant certaines conditions que nous verrons un peu plus tard.
A travers ce tuto, je vais donc présenter une manière de recompiler son noyau
pour Debian. Nous allons donc voir comment acquérir le dernier kernel disponible,
ensuite comment le recompiler.
II. Acquérir le dernier noyau disponible
II-A. Modification du fichier sources.list
Les nouveaux noyaux sont d'abord testés en unstable et ne sont donc pas directement
accessibles en stable ou testing. Sid étant la version unstable de Debian, il
peut être difficile de l'utiliser à cause des nombreuses mises à jour disponibles régulièrement
(risque de bug). Elle possède cependant l'avantage d'avoir les dernières versions
des logiciels. Les nouveaux noyaux étant d'abord intégrés sous sid (unstable), il
n'est pas obligatoire d'y passer pour avoir les derniers noyaux sortis.
En première étape, nous allons voir qu'il faut modifier le fichier sources.list
se trouvant dans le répertoire /etc/apt pour obtenir le dernier noyau. Ensuite, nous
regarderons les préférences de récupération des paquets pour ne prendre que ce
qui nous intéresse dans une distribution ou une autre. Et finalement, il ne restera
plus qu'a télécharger le dernier noyau.
En premier lieu, nous allons modifier le fichier sources.list de manière à ce
qu'il puisse télécharger les paquets de la distribution SID. Il faut donc lui rajouter
les sources unstable.
|
Nous obtenons ainsi un fichier sources assez complet comme le montre le listing
suivant. Ne pas oublier de passer une ligne à la fin du fichier sans quoi vous aurez
un warning.
|
Le fait d'avoir ajouté les sources SID nous permet d'accéder à tous les paquets
unstable mais le problème qu'il se pose ici est que l'on obtient tout les paquets
de cette distribution alors que l'on en désire qu'une partie. Pour cela, nous allons
ajouter un fichier preferences qui va définir quel paquet télécharger sur quelle
distribution.
II-B. Le fichier preferences
Ce fichier va déterminer dans quel distribution les paquets seront téléchargés
en priorité c'est ce que l'on appelle le pinning. Il est placé dans le même répertoire
que le fichier sources.list, c'est à dire le répertoire /etc/apt/. Les priorités
sont représentées par des nombres dont voici leurs significations :
1001 : Le package ne sera jamais remplacé par APT.
1000 : idem, mais APT refusera d'installer le package si une autre version est déjà présente.
990 : Le package ne pourra être remplacé que si une version supérieure est disponible dans la distribution utilisée.
500 : Toute version du package supérieure à celle présente sera installée.
100 : Toute version du package, supérieure ou inférieure, remplacera la version en place.
-1 : On empêche un package (ou une version spécifique) d'être installé.
1000 : idem, mais APT refusera d'installer le package si une autre version est déjà présente.
990 : Le package ne pourra être remplacé que si une version supérieure est disponible dans la distribution utilisée.
500 : Toute version du package supérieure à celle présente sera installée.
100 : Toute version du package, supérieure ou inférieure, remplacera la version en place.
-1 : On empêche un package (ou une version spécifique) d'être installé.
Dans l'exemple, la distribution testing est préférée aux autres mais toutes les
nouvelles sources du noyau linux-source-2.6.* seront pris dans les paquets prévus
pour Sid. Ainsi, nous restons en testing tout en ayant les dernières sources du
kernel. Il ne reste plus qu'à recompiler son noyau et le tour est joué.
|
Il suffit, une fois tout cela copié dans /etc/apt/, de faire une mise à jour
des paquets disponibles et d'installer les sources du dernier noyau (en ce moment
2.6.15)
|
Cette méthode ne se restreint pas à seulement télécharger les sources du dernier
noyau. Elle peut-être aussi utilisée afin d'acquérir la dernière image plutôt que les
sources afin de ne pas avoir à recompiler son noyau. Mais ici, le but n'est pas
de faire dans la simplicité, nous allons donc recompiler notre kernel.
III. Recompilation de son kernel
Maintenant que nous avons téléchargé le dernier noyau, il faut le décompresser,
le configurer, le compiler et passer enfin à l'installation. Mais avant toutes choses,
il faut installer certaines dépendances si elle ne le sont pas déjà permettant la
configuration du kernel.
III-A. Installation des dépendances
Afin de pouvoir correctement installer et configurer notre nouveau noyau, nous
avons besoin de certains packages qu'il suffit donc d'installer de cette manière :
|
Il est inutile de les installer s'ils le sont déjà et dans ce cas on passe directement
à l'étape suivante :)
III-B. Décompression et Configuration
Passons maintenant à l'étape de la décompression :
|
Nous avons donc maintenant tout le nécessaire pour configurer notre noyau, Nous
rajoutons un petit lien vers le répertoire créé et on copie notre configuration actuelle
afin de ne pas avoir à tout refaire. ATTENTION, les quotes entourant
uname -r sont des quotes inversés (Alt Gr + 7)
|
III-C. Ajustement de la configuration et compilation
La configuration actuelle étant recopiée pour le nouveau noyau, elle ne correspond pas forcément
avec les nouvelles options. Les nouvelles options ou celles obsolètes possèdent des valeurs par
défaut. Lors de la configuration avec menuconfig ou xconfig, le fichier .config est analysé et
seules les valeurs comprises sont retenues les autres sont fixées à leurs valeurs par défaut.
Ces nouvelles valeurs n'étant pas forcément optimales pour votre matériel il est possible d'ajuster
la configuration pour cela :
|
Ce qui permet de valider et de définir correctement toutes les nouvelles options contenues dans la
nouvelle version du kernel.
Maintenant nous pouvons finir la configuration et lancer la compilation directement
et tout ça en une seule commande.
|
La configuration de chaque kernel étant bien spécifique à l'architecture du matériel
sur lequel vous compilez votre noyau, je vous laisse choisir les différentes options
pour votre matériel. Vous pouvez tout de même avoir une aide sur le forum debian-fr
ou voir une configuration minimale sur le site andesi
III-D. Installation
La compilation finie, il nous reste à installer notre image personnalisée.
|
Je vous déconseille de désinstaller à ce moment là votre ancienne version, essayez
d'en garder toujours deux. Ainsi, dans le cas d'un problème vous pourrez toujours
revenir à une version fonctionnelle et corriger ainsi les erreurs. Une fois installée,
un reboot sera nécessaire pour accéder à la nouvelle version. Après s'être identifié,
et pour vérifier, on peut lancer la commande uname qui nous renverra la version
du kernel actuel.
|
Et vous voila avec le dernier kernel configuré et installé.
III-E. Résumé des Commandes & Scripts
Voici, un résumé des commandes à exécuter pour la recompilation
|
Je vous mets aussi à disposition un petit script tout simple qui facilite la compilation
d'un nouveau kernel
Script de compilation |
|
Aucun commentaire :
Enregistrer un commentaire