Vous êtes sur la page 1sur 33

2 me anne BTS

Systme et Rseau Informatique

Anne scolaire :
2011 / 2012

Chapitre 1 :

NOYAU
Prparer par :
Youssra El Janous
Khadija Aghsay

Encadrer par :
Prof. Dalila

Sommaire
Introduction
Dfinition du noyau
Composants du noyau
Compilation du noyau
Mettre jour / Adapter le noyau
Mise jour changement de version ou
rvision
Mise jour changement de branche
Conclusion

Introduction

Nombreux sont ceux qui pensent que Linux est


lensemble des logiciels fournis par les
distributions.
Techniquement Linux est le noyau et seulement le
noyau. Mme les logiciels indispensables comme
linterprteur de commandes ou les compilateurs
sont indpendants du noyau.

Dfinition du noyau

Le noyau est le cur du systme. C'est lui qui


fait l'interface entre vos applications et votre
matriel.
Par exemple, il gre la mmoire, donne l'ordre
d'excution des tches sur le(s) processeur(s),
interagit avec vos priphriques via les pilotes
matriels (souris, claviers, etc), s'occupe du
rseau, ...

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 utilise lors du
dmarrage de votre ordinateur et sera toujours charge
en mmoire, tandis que les modules peuvent tre
chargs seulement une fois la machine dmarre et
uniquement en cas de besoin.

Compilation du noyau
Pourquoi Compiler son noyau ?
Cas du matriel dont le support a t ajout dans une
nouvelle version du noyau.
un trou de scurit a t dcouvert dans le noyau actuel,
ce problme tant rgl dans une nouvelle version.
disposer d'une fonctionnalit qui n'est pas encore dans la
branche principale du noyau.
La plupart du temps, on na pas rellement besoin d'un
nouveau noyau. Il serait suffisant de rester jour avec
votre distribution puisque celle-ci s'occupe des logiciels
qui ont des problmes de scurit ou des bugs.

Connatre la version de son kernel :


#uname r

affiche le numro du version du noyau .

#uname a : affiche notamment la date de


compilation du noyau .

Sauvegarde du noyau ,des modules


kernel
#cd /boot
#ls vmlinuz*
vmlinuz-2.6.9-42.EL
#mv vmlinuz-2.6.9-42.EL vmlinuz-2.6.942.EL.old

Grub
# cp /etc/grub.conf

/etc/grub.conf.save

1-Tlcharger le code source du noyau :


Pour pouvoir compiler un nouveau noyau, il
faut tlcharger 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 dcompresser avec bunzip
# tar xvjf linux-2.6.21.3.tar.bz2

2. Configurer le noyau :
Nous devons configurer le noyau avant de
commencer le compiler. Pendant la phase de
configuration, nous slectionnerons 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.

Une fois que les composants de notre noyau sont


choisis, nous pouvons quitter l'interface de
configuration. Reste slectionner l'option permettant
d'enregistrer la configuation dans le menu de
configuration avant de sortir.

-3. Compilation aprs configuration


du noyau:
* Construire les dpendances :
Cette tape est requise pour les noyaux
antrieurs la srie 2.6 elle consiste
crer les dpendances ncessaires.
#make dep

Crer l'image finale


Il est possible de construire divers types d'images
binaires de noyau. Nous pouvons compiler une image
de noyau complte ou une version compresse de
celle-ci ; habituellement, on choisit la version
compresse ou l'image bzImage, que l'on peut crer
en saisissant :
#make bzImage

Compiler et installer les modules


Si, dans la section configuration, nous avons
slectionn des composants devant tre intgrs en
tant que modules du noyau, il faut maintenant les
compiler. Pour compiler les modules, excutons la
commande :
# make modules

Aprs la compilation des modules, il est prsent


temps de les installer. pour ce faire, excutez la
commande :
#make modules_install

On peut rassembler tous ces commandes


Dans une seule ligne :
# make dep && make clean && make bzImage &&
make modules && make modules_install

* Amorcer

partir du nouveau noyau

L'installation des modules termine, nous pouvons


entreprendre une procdure d'installation
automatique du noyau pour l'excutable du noyau.
Saisissons simplement :
#make install

Cette commande permet de mettre jour l'image du

noyau dans le rpertoire /boot, d'actualiser le fichier


de configuration du chargeur d'amorage (lilo.conf ou
grub.conf), puis d'effectuer les actions ncessaires
pour rendre le nouveau noyau amorable.

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'amorage lilo :

#cp -a arch/i386/boot/bzImage /boot/bzImage-2.6.9


Aprs 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

Mettre jour /
Adapter le noyau

Les types de mise jour

Il existe deux type de mise jour

Mise jour changement de version ou


rvision
Mise jour changement de branche

Mise jour changement de version ou


rvision
On va dcrire les tapes effectuer pour mettre
jour le noyau lors d'un changement de version ou
d'une rvision qui sont :

1.
2.
3.
4.

Copie du fichier de configuration


Actualisation du lien symbolique
Excution de make oldconfig
Excution de make menuconfig

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.

Copie du fichier de configuration

Placez-vous tout d'abord dans le rpertoire des


sources :
# cd /usr/src/

Obtenez la liste des dossiers de ce rpertoire


incluant le lien symbolique vers le dossier de la
version du noyau actuelle.
Utilisez le lien symbolique pour copier le fichier de
configuration

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 dmarrage, il
faut actualiser le lien symbolique. Puisque vous
tes dj dans le rpertoire /usr/src, il suffit
simplement de lancer la commande de cration
d'un lien symbolique.
# ln -sfn linux-2.6.27-gentoo-r8 /usr/src/linux

Dsormais 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
ltape suivante.
# cd /usr/src/linux

Excution de make oldconfig


La commande make oldconfig va modifier la
configuration du noyau que vous avez copie
prcdemment en appliquant les changements
apportes par la nouvelle version. Vous serez peuttre invite a rpondre aux questions ncessaires
pour appliquer ces changements. Lancez make
oldconfig :
# make oldconfig

Lorsque make oldconfig vous pose une question,


vous rpondez en appuyant sur la touche MAJ pour
accepter la valeur par dfaut.

Excution de make menuconfig


L'opration prcdente peut avoir entrane des
modifications au fichier de configuration que vous
ne dsirez pas.
Pour vous en assurer et remdier la situation le
cas chant, 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 lment et modifiez
celle de la nouvelle configuration si tel est le cas.

Mise jour changement de branche

Pour mettre jour le noyau lors d'un changement


de branche, vous adopterez une approche
scuritaire. Cette mthode 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.

Mise jour changement de branche


Voici les tapes que vous devez excuter :
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 dpendent
du noyau
6. Redmarrage de l'ordinateur

Monter /boot si ncessaire


Vous devez monter votre partition /boot si vous
avez une partition qui est ddie 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.

Les mal consquence de mise jour


En gnral il existe les deux mal consquense de
mise jour :
Rgression
Il se peut quun priphrique fonction parfaitement avant
la mise jour mais aprs e fonctionne plus.

Oups :
Il sagit souvent dun problme avec un pilote comprenant
des bogues.

Les solutions
On peut rsoudre les erreurs prcdents avec les
solutions suivants :
Revenir une version prsident.
Lutilisation de DKMS :
DKMS a pour fonction de compiler automatiquement tous
les pilote qui le ncessitent sur votre systme.

Options supplmentaires
Plusieurs options supplmentaires sont possibles :
rpm --force : en cas de conflit avec un autre package (le
cas le plus courant est celui o deux packages proposent
le mme fichier au mme endroit), cette option force tout
de mme linstallation.
rpm --nodeps : si le package refuse de sinstaller
cause dun problme de dpendances, cette option forcera
linstallation. Il arrive parfois que cette erreur se produise
quand la dpendance en question a t installe
autrement que depuis un package rpm.

Conclusion

On peut dire enfin que Les mises jour sont des


ajouts logiciels qui permettent dviter des
problmes ou de les corriger, damliorer le
fonctionnement de votre ordinateur ou doptimiser
lutilisation de votre quipement informatique.