Le noyau est le coeur du système d'exploitation
Linux. Rigoureusement, on devrait même dire que c'est Linux. C'est le seul élément
capable de communiquer directement avec le matériel. Le noyau est
la principale différence entre les divers systèmes UNIX.
Afin d'adapter au maximum le noyau à votre
configuration et vos besoins, une recompilation du noyau est nécéssaire.
Par exemple, si vous voulez lire des partitions UFS (FreeBSD) sous Linux
ou activer votre carte son, une recompilation du noyau vous facilitera
la tâche.
7.1 Creer une disquette d'amorçage avec le noyau actuel
Avant cela, loguez vous en tant que root.
Pour réaliser une disquette d'amorçage, tapez:
#mkbootdisk version_du_noyau
Tapez la commande suivante pour identifier la version de votre kernel:
$uname -r
Par exemple, si votre version s'appelle 2.0.14, vous taperez:
#mkbootdisk 2.0.14
*Note*:cette étape n'est pas indispensable mais conseillée
7.2 Mise en place des sources du noyau
Tout d'abord, vous devrez vérifier si les sources du noyau ont été installées. Les sources doivent se trouver dans le répertoire /usr/src/linux .
7.2.1 Installation des sources du noyau
Vous trouverez les dernières versions du
noyau à l'adresse www.kernel.org
.
Ils sont au format tar.gz et/ou tar.bz2.
Par exemple, si votre archive se trouve dans le répertoire /home/pierre et s'appelle linux-2.0.14.tar.gz , vous devrez passez dans le répertoire /usr/src et y décompresser
les sources ainsi:
#cd /usr/src/
#tar -zxvf /home/pierre/linux-2.0.14.tar.gz
ou pour une archive tar.bz2:
#cd /usr/src/
#tar -jxvf /home/pierre/linux-2.0.14.tar.bz2
Un nouveau répertoire nommé linux est alors créé dans /usr/src.
*Note*: Vous pouvez également trouver des archives RPM ou DEB contenant les sources.
7.2.2 Patcher les sources du noyau
Vous avez par exemple les sources du noyau 2.0.13 et vous voulez appliquer la mise à jour vers le noyau 2.0.14. Pour cela, il vous suffira de télécharger le patch adéquate sur kernel.org puis de patcher les sources de votre noyau.
Pour cela, copier tout d'abord l'archive contenant votre patch dans le répertoire /usr/src . Le répertoire /usr/src/linux doit contenir les sources complètes du noyau (voir section 7.2.1). Si le répertoire contenant vos sources s'appelle par exemple /usr/src/linux-2.0.13, créez un lien symbolique par la commande:
#ln -s /usr/src/linux-2.0.13 /usr/src/linux
Ensuite, si votre patch s'appelle patch-2.0.14.gz décompresser votre archive ainsi:
#gzip -d patch-2.0.14.gz
ou pour un patch compressé par bzip2:
#bzip2 -d patch-2.0.14.bz2
Vous pouvez alors appliquer le patch par la commande:
#patch -p0 <patch-2.0.14
En tant qu'utilisateur root, passez dans le répertoire où
les sources sont installées (ex: /usr/src/linux) et tapez
la commande make xconfig sous X ou make menuconfig si vous etes dans une
console.
Les versions Console et X sont identiques mise à part l'usage
de la souris sous X Window et une interface un peu plus agréable.
La configuration du noyau se réalise très facilement grâce
aux menus. Vous choisissez une catégorie puis les pilotes que vous
voulez. Pour activer un driver, vous pouvez choisir y (yes, le pilote sera
compiler dans le noyau) ou m (module, le pilote sera chargé en tant
que module). Pour ne pas installer un driver, choisissez l'option n (no).
En tant que module, le pilote devra etre chargé pour etre éxecuté.
Ce choix convient pour les périphériques que l'on utilise de temps
en temps (interface parallèle par exemple). Certains pilotes devraient
etre compilés dans le noyau si ils sont souvent utilisés (pour les
disques durs par exemple).
Pour avoir une description du pilote, appuyez sur le bouton help.
Lorsque vous avez terminé la configuration du noyau, sauvegardez
vos modifications. Appuyez sur Save and Exit dans le menu principal sous
X ou choisissez Exit en mode console.
7.4 Compilation du nouveau noyau
Pour nettoyer des traces eventuelles de compilations précédentes:
#make dep clean
Pour compiler le noyau tapez:
#make zImage
Si vous avez inclus de nombreux pilotes, il est probable que vous receviez
un message d'erreur du type "big kernel image". Cela veut dire que votre
noyau est trop gros. Tapez alors:
#make bzImage
*Note*=Le temps de compilation est relativement long et dépend de la puissance de la machine.
7.4.1 Compiler et installer les modules du noyau
#make modules modules_install
*Note*=Cette opération prend égalemet un temps conséquent.
7.4.2 Mise en place du noyau
Le noyau doit etre déposé dans le répertoire /boot
et recevoir un nom du type vmlinux-version_du_noyau (ce type de nom n'est
pas obligatoire mais conseillé). Pour copier votre nouveau noyau
dans ce répertoire, tapez une commande du type:
#cp arch/i386/boot/zImage /boot/vmlinuz-2.0.14
7.4.3 Créer une disquette de démarrage
Tapez la commande suivante pour créer une disquette d'amorçage
avec le nouveau noyau:
#dd if=arch/i386/boot/zImage of=/dev/fd0
7.4.4 Configurer LILO
Si vous utilisez LILO pour démarrer sous Linux, vous devrez éditer le fichier /etc/lilo.conf puis valider vos modifications en passant en root (commande su) et en tapant la commande lilo.
| Page précédente (Les éditeurs) |