3. Introduction
Nombreux sont ceux qui pensent que Linux est
l’ensemble des logiciels fournis par les
distributions.
Techniquement Linux est le noyau et seulement le
noyau. Même les logiciels indispensables comme
l’interpréteur de commandes ou les compilateurs
sont indépendants du noyau.
4. Définition du noyau
Le noyau est le cœur du système. C'est lui qui
fait l'interface entre vos applications et votre
matériel.
Par exemple, il gère la mémoire, donne l'ordre
d'exécution des tâches sur le(s) processeur(s),
interagit avec vos périphériques via les pilotes
matériels (souris, claviers, etc), s'occupe du
réseau, ...
5. Composants du noyau
Le noyau (kernel en anglais) est composé d'une partie
statique à laquelle on peut dynamiquement greffer des
modules. La partie statique est utilisée lors du
démarrage de votre ordinateur et sera toujours chargée
en mémoire, tandis que les modules peuvent être
chargés seulement une fois la machine démarrée et
uniquement en cas de besoin.
6. Compilation du noyau
Pourquoi Compiler son noyau ?
Cas du matériel dont le support a été ajouté dans une
nouvelle version du noyau.
un trou de sécurité a été découvert dans le noyau actuel,
ce problème étant réglé dans une nouvelle version.
disposer d'une fonctionnalité qui n'est pas encore dans la
branche principale du noyau.
La plupart du temps, on n’a pas réellement besoin d'un
nouveau noyau. Il serait suffisant de rester à jour avec
votre distribution puisque celle-ci s'occupe des logiciels
qui ont des problèmes de sécurité ou des bugs.
7. Connaître la version de son kernel :
#uname –r : affiche le numéro du version du noyau .
#uname –a : affiche notamment la date de
compilation du noyau .
9. 1-Télécharger le code source du noyau :
Pour pouvoir compiler un nouveau noyau, il
faut télécharger le code source sur le site
http://www.kernel.org/.
supposons que nous voulons compiler la
version 2.6.21.3 du noyau Linux
On commence par décompresser avec bunzip
# tar xvjf linux-2.6.21.3.tar.bz2
10. -2. Configurer le noyau :
Nous devons configurer le noyau avant de
commencer le compiler. Pendant la phase de
configuration, nous sélectionnerons les
composants qui feront partie de notre futur
noyau.
#make menuconfig : invoque l'interface ncurses.
D'autres options comme #make xconfig et #make
config sont disponibles.
11.
12. Une fois que les composants de notre noyau sont
choisis, nous pouvons quitter l'interface de
configuration. Reste à sélectionner l'option permettant
d'enregistrer la configuation dans le menu de
configuration avant de sortir.
13. * Construire les dépendances :
Cette étape est requise pour les noyaux
antérieurs à la série 2.6 elle consiste à
créer les dépendances nécessaires.
#make dep
-3. Compilation après configuration
du noyau:
14. * Créer l'image finale
Il est possible de construire divers types d'images
binaires de noyau. Nous pouvons compiler une image
de noyau compléte ou une version compressée de
celle-ci ; habituellement, on choisit la version
compressée ou l'image bzImage, que l'on peut créer
en saisissant :
#make bzImage
15. * Compiler et installer les modules
Si, dans la section configuration, nous avons
sélectionné des composants devant être intégrés en
tant que modules du noyau, il faut maintenant les
compiler. Pour compiler les modules, exécutons la
commande :
# make modules
Après la compilation des modules, il est à présent
temps de les installer. pour ce faire, exécutez la
commande :
#make modules_install
16. On peut rassembler tous ces commandes
Dans une seule ligne :
# make dep && make clean && make
bzImage && make modules && make
modules_install
17. * Amorcer à partir du nouveau noyau
L'installation des modules terminée, nous pouvons
entreprendre une procédure d'installation
automatique du noyau pour l'exécutable du noyau.
Saisissons simplement :
#make install
• Cette commande permet de mettre à jour l'image du
noyau dans le répertoire /boot, d'actualiser le fichier
de configuration du chargeur d'amorçage (lilo.conf ou
grub.conf), puis d'effectuer les actions nécessaires
pour rendre le nouveau noyau amorçable.
18. 4-Installer manuellement le noyau
Au cas ou make install ne fonctionne pas ou si pour toute
autre raison, nous ne pouvons pas effectuer une installation
automatique, il faut envisager une installation manuelle du
noyau.
Voici les étapes à suivre en tant que super-utilisateur si nous
faisons appel au chargeur d'amorçage lilo :
#cp -a arch/i386/boot/bzImage /boot/bzImage-2.6.9
Après cette commande, ajoutons la ligne suivante dans
/etc/lilo.conf :
#image=/boot/bzImage-2.6.9 label=2.6.9-kernel
root=votre_partition_racine
19.
20. Les types de mise à jour
Il existe deux type de mise à jour
Mise à jour changement de version ou
révision
Mise à jour changement de branche
21. Mise à jour changement de version ou
révision
On va décrire les étapes à effectuer pour mettre à
jour le noyau lors d'un changement de version ou
d'une révision qui sont :
1. Copie du fichier de configuration
2. Actualisation du lien symbolique
3. Exécution de make oldconfig
4. Exécution de make menuconfig
22. Copie du fichier de configuration
La copie du fichier de configuration vous permet de
copier votre configuration du noyau actuelle dans
le fichier de configuration du nouveau noyau.
Cela vous assure que votre configuration actuelle
du noyau est reconduite telle quelle dans le fichier
de configuration du nouveau noyau vous évitant
ainsi a refaire toute votre configuration tel que
vous l'avez faite lors de l'installation initiale de
votre GNU/ Linux.
Vous minimisez ainsi les oublis involontaires ou de
possibles erreurs.
23. Copie du fichier de configuration
Placez-vous tout d'abord dans le répertoire des
sources :
# cd /usr/src/
Obtenez la liste des dossiers de ce répertoire
incluant le lien symbolique vers le dossier de la
version du noyau actuelle.
Utilisez le lien symbolique pour copier le fichier de
configuration
24. Actualisation du lien symbolique
Le lien symbolique correspond au dossier des
sources du noyau actuel. Pour être en mesure de
finaliser la configuration du nouveau noyau, le
compiler et le rendre disponible au démarrage, il
faut actualiser le lien symbolique. Puisque vous
êtes déjà dans le répertoire /usr/src, il suffit
simplement de lancer la commande de création
d'un lien symbolique.
# ln -sfn linux-2.6.27-gentoo-r8 /usr/src/linux
Désormais lorsque vous vous positionnez dans le
dossier /usr/src/linux, ce sont les fichiers du
nouveau noyau que vous voyez et non plus ceux du
noyau actuel.
Positionnez-vous dans ce dossier avant de passer a
l‘étape suivante.
# cd /usr/src/linux
25. Exécution de make oldconfig
La commande make oldconfig va modifier la
configuration du noyau que vous avez copie
précédemment en appliquant les changements
apportes par la nouvelle version. Vous serez peut-
être invite a répondre aux questions nécessaires
pour appliquer ces changements. Lancez make
oldconfig :
# make oldconfig
Lorsque make oldconfig vous pose une
question, vous répondez en appuyant sur la touche
MAJ pour accepter la valeur par défaut.
26. Exécution de make menuconfig
L'opération précédente peut avoir entraîne des
modifications au fichier de configuration que vous
ne désirez pas.
Pour vous en assurer et remédier à la situation le
cas échéant, comparez le nouveau fichier de
configuration avec celui du noyau actuel.
1. Ouvrez un second terminal
2. Positionnez-vous dans le dossier de votre noyau
actuel :# cd /usr/src/linux-2.6.27-r3
3. Dans chacun des terminaux lancez la commande :
# make menuconfig
Comparez la valeur de chaque élément et modifiez
celle de la nouvelle configuration si tel est le cas.
27. Mise à jour changement de branche
Pour mettre à jour le noyau lors d'un changement
de branche, vous adopterez une approche
sécuritaire. Cette méthode est longue car vous
reconfigurez votre noyau à la main comme vous le
faites lors d'une installation. En fait, vous n'utilisez
pas make oldconfig.
28. Mise à jour changement de branche
Voici les étapes que vous devez exécuter :
1. Monter /boot si necessaire
2. Actualisation du lien symbolique linux
3. Execution de make menuconfig
4. Compilation et copie du nouveau noyau
dans/boot
5. Recompilation des programmes qui dépendent
du noyau
6. Redémarrage de l'ordinateur
29. Monter /boot si nécessaire
Vous devez monter votre partition /boot si vous
avez une partition qui est dédiée a celle-ci.
# mount /dev/sdaX /boot
Note :
Consultez votre fichier /etc/fstab pour connaitre la
valeur correspondant a sdaX de l'exemple ci-haut.
30. Les mal conséquence de mise à jour
En général il existe les deux mal conséquense de
mise à jour :
Régression
Il se peut qu’un périphérique fonction parfaitement avant
la mise à jour mais après e fonctionne plus.
Oups :
Il s’agit souvent d’un problème avec un pilote comprenant
des bogues.
31. Les solutions
On peut résoudre les erreurs précédents avec les
solutions suivants :
Revenir à une version président.
L’utilisation de DKMS :
DKMS a pour fonction de compiler automatiquement tous
les pilote qui le nécessitent sur votre système.
32. Options supplémentaires
Plusieurs options supplémentaires sont possibles :
rpm --force : en cas de conflit avec un autre package (le
cas le plus courant est celui où deux packages proposent le
même fichier au même endroit), cette option force tout de
même l’installation.
rpm --nodeps : si le package refuse de s’installer à cause
d’un problème de dépendances, cette option forcera
l’installation. Il arrive parfois que cette erreur se produise
quand la dépendance en question a été installée autrement
que depuis un package rpm.
33. Conclusion
On peut dire enfin que Les mises à jour sont des
ajouts logiciels qui permettent d’éviter des
problèmes ou de les corriger, d’améliorer le
fonctionnement de votre ordinateur ou d’optimiser
l’utilisation de votre équipement informatique.