16
Compiler le Compiler le noyau Linux noyau Linux Réalisé par Réalisé par : : Ait taleb Ait taleb brik brik parrainé par : Mr Ezzati

Compiler Le Noyau Linux

Embed Size (px)

DESCRIPTION

Compiler Le Noyau Linux

Citation preview

Page 1: Compiler Le Noyau Linux

Compiler le Compiler le noyau Linux noyau Linux

Réalisé par :Réalisé par :

Ait taleb brikAit taleb brik

El maidani ilyasEl maidani ilyas

parrainé par :

Mr Ezzati

Page 2: Compiler Le Noyau Linux

Le noyau :Le noyau : Le noyau est le cœur du système. C'est lui qui fait Le noyau est le cœur du système. C'est lui qui fait

l'interface entre vos applications et votre matériel. Par l'interface entre vos applications et votre matériel. Par exemple, il gère la mémoire, donne l'ordre d'exécution exemple, il gère la mémoire, donne l'ordre d'exécution des tâches sur le(s) processeur(s), interagit avec vos des tâches sur le(s) processeur(s), interagit avec vos périphériques via les pilotes matériels (souris, claviers, périphériques via les pilotes matériels (souris, claviers, etc), s'occupe du réseau, ... etc), s'occupe du réseau, ...

Le noyau (Le noyau (kernelkernel en anglais) est composé d'une partie en anglais) est composé d'une partie statique à laquelle on peut dynamiquement greffer des statique à laquelle on peut dynamiquement greffer des modulesmodules. La partie statique est utilisée lors du démarrage . La partie statique est utilisée lors du démarrage de votre ordinateur et sera toujours chargée en mémoire, de votre ordinateur et sera toujours chargée en mémoire, tandis que les modules peuvent être chargés seulement tandis que les modules peuvent être chargés seulement une fois la machine démarrée et uniquement en cas de une fois la machine démarrée et uniquement en cas de besoin. besoin.

Page 3: Compiler Le Noyau Linux

Pourquoi Compiler son noyau ? Pourquoi Compiler son noyau ?

Cas du matériel dont le support a été ajouté dans une Cas du matériel dont le support a été ajouté dans une nouvelle version du noyau. nouvelle version du noyau.

un trou de sécurité a été découvert dans le noyau actuel, un trou de sécurité a été découvert dans le noyau actuel, ce problème étant réglé dans une nouvelle version.ce problème étant réglé dans une nouvelle version.

disposer d'une fonctionnalité qui n'est pas encore dans la disposer d'une fonctionnalité qui n'est pas encore dans la

branche principale du noyau. branche principale du noyau.

La plupart du temps, on n’a pas réellement besoin d'un La plupart du temps, on n’a pas réellement besoin d'un nouveau noyau. Il serait suffisant de rester à jour avec nouveau noyau. Il serait suffisant de rester à jour avec votre distribution puisque celle-ci s'occupe des logiciels votre distribution puisque celle-ci s'occupe des logiciels qui ont des problèmes de sécurité ou des bugs.qui ont des problèmes de sécurité ou des bugs.

Page 4: Compiler Le Noyau Linux

Connaître la version de son kernel :Connaître la version de son kernel :

#uname –r : affiche le numéro du version du #uname –r : affiche le numéro du version du noyau . noyau .

#uname –a : affiche notamment la date de #uname –a : affiche notamment la date de compilation du noyau . compilation du noyau .

Page 5: Compiler Le Noyau Linux

Sauvegarde du noyau ,des modules et Sauvegarde du noyau ,des modules et de la configuration de grub de la configuration de grub

kernelkernel#cd /boot#cd /boot

#ls vmlinuz*#ls vmlinuz*

vmlinuz-2.6.9-42.ELvmlinuz-2.6.9-42.EL

#mv vmlinuz-2.6.9-42.EL vmlinuz-2.6.9-42.EL.old#mv vmlinuz-2.6.9-42.EL vmlinuz-2.6.9-42.EL.old

GrubGrub# cp /etc/grub.conf /etc/grub.conf.save# cp /etc/grub.conf /etc/grub.conf.save

Page 6: Compiler Le Noyau Linux

1-Télécharger le code source du 1-Télécharger le code source du noyau :noyau :

Pour pouvoir compiler un nouveau noyau, il faut en Pour pouvoir compiler un nouveau noyau, il faut en télécharger le code source sur le site télécharger le code source sur le site http://www.kernel.org/http://www.kernel.org/. .

supposons que nous voulons compiler la supposons que nous voulons compiler la version 2.6.21.3 du noyau Linux version 2.6.21.3 du noyau Linux

On commence par décompresser avec On commence par décompresser avec bunzipbunzip

# tar xvjf linux-2.6.21.3.tar.bz2 # tar xvjf linux-2.6.21.3.tar.bz2

Page 7: Compiler Le Noyau Linux

-2. Configurer le noyau :-2. Configurer le noyau :

Nous devons configurer le noyau avant de commencerNous devons configurer le noyau avant de commencer

le compiler. Pendant la phase de configuration, nousle compiler. Pendant la phase de configuration, nous

sélectionnerons les composants qui feront partie desélectionnerons les composants qui feront partie de

notre futur noyau. notre futur noyau.

##make menuconfigmake menuconfig : : invoque l'interface ncurses. D'autres invoque l'interface ncurses. D'autres

options commeoptions comme ##make xconfigmake xconfig etet ##make configmake config sont sont disponibles.disponibles.

Page 8: Compiler Le Noyau Linux
Page 9: Compiler Le Noyau Linux

Une fois que les composants de notre Une fois que les composants de notre noyau sont choisis, nous pouvons noyau sont choisis, nous pouvons

quitter l'interface de configuration. quitter l'interface de configuration. Reste à sélectionner l'option Reste à sélectionner l'option permettant d'enregistrer la permettant d'enregistrer la

configuation dans le menu de configuation dans le menu de configuration avant de sortir.configuration avant de sortir.

Page 10: Compiler Le Noyau Linux

* 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:

Page 11: Compiler Le Noyau Linux

* Créer l'image finale * Créer l'image finale

Il est possible de construire divers types d'images Il est possible de construire divers types d'images binaires de noyau. Nous pouvons compiler une image binaires de noyau. Nous pouvons compiler une image de noyau complète ou une version compressée de de noyau complète ou une version compressée de celle-ci ; habituellement, on choisit la version celle-ci ; habituellement, on choisit la version compressée ou l'image bzImage, que l'on peut créer compressée ou l'image bzImage, que l'on peut créer en saisissant : en saisissant :

#make bzImage #make bzImage

Page 12: Compiler Le Noyau Linux

* Compiler et installer les modules * Compiler et installer les modules

Si, dans la section configuration, nous avons Si, dans la section configuration, nous avons sélectionné des composants devant être intégrés en sélectionné des composants devant être intégrés en tant que modules du noyau, il faut maintenant les tant que modules du noyau, il faut maintenant les compiler. Pour compiler les modules, exécutons la compiler. Pour compiler les modules, exécutons la commande : commande :

# make modules# make modules Après la compilation des modules, il est à présent Après la compilation des modules, il est à présent

temps de les installer. pour ce faire, exécutez la temps de les installer. pour ce faire, exécutez la commande : commande :

#make modules_install#make modules_install

Page 13: Compiler Le Noyau Linux

On peut rassembler tous ces commandesOn peut rassembler tous ces commandes

Dans une seule ligne :Dans une seule ligne :

# make dep && make clean && make bzImage # make dep && make clean && make bzImage && make modules && make modules_install && make modules && make modules_install

Page 14: Compiler Le Noyau Linux

* Amorcer à partir du nouveau noyau * Amorcer à partir du nouveau noyau

L'installation des modules terminée, nous pouvons L'installation des modules terminée, nous pouvons entreprendre une procédure d'installation automatique entreprendre une procédure d'installation automatique du noyau pour l'exécutable du noyau. Saisissons du noyau pour l'exécutable du noyau. Saisissons simplement : simplement :

#make install#make install• Cette commande permet de mettre à jour l'image du Cette commande permet de mettre à jour l'image du

noyau dans le répertoire /boot, d'actualiser le fichier de noyau dans le répertoire /boot, d'actualiser le fichier de configuration du chargeur d'amorçage (lilo.conf ou configuration du chargeur d'amorçage (lilo.conf ou grub.conf), puis d'effectuer les actions nécessaires grub.conf), puis d'effectuer les actions nécessaires pour rendre le nouveau noyau amorçable.pour rendre le nouveau noyau amorçable.

Page 15: Compiler Le Noyau Linux

4-Installer manuellement le noyau 4-Installer manuellement le noyau Au cas où make install ne fonctionne pas ou si pour toute autre Au cas où make install ne fonctionne pas ou si pour toute autre

raison, nous ne pouvons pas effectuer une installation raison, nous ne pouvons pas effectuer une installation automatique, il faut envisager une installation manuelle du automatique, il faut envisager une installation manuelle du noyau. noyau.

Voici les étapes à suivre en tant que super-utilisateur si nous Voici les étapes à suivre en tant que super-utilisateur si nous faisons appel au chargeur d'amorçage lilo : faisons appel au chargeur d'amorçage lilo :

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

Après cette commande, ajoutons la ligne suivante dans Après cette commande, ajoutons la ligne suivante dans /etc/lilo.conf :/etc/lilo.conf :

#image=/boot/bzImage-2.6.9 label=2.6.9-kernel #image=/boot/bzImage-2.6.9 label=2.6.9-kernel root=votre_partition_racineroot=votre_partition_racine

Page 16: Compiler Le Noyau Linux

MerciMerci

pour pour

votre attentionvotre attention