Vous êtes sur la page 1sur 6

Compilation 

noyau vanilla 

Compiler et installer Linux Kernel


5.4.1 à partir du code source
La compilation d'un noyau personnalisé présente des avantages et des inconvénients. Cependant,
les nouveaux utilisateurs / administrateurs Linux ont du mal à compiler le noyau Linux. La
compilation du noyau nécessite peu de compréhension, puis quelques commandes. Cette
procédure étape par étape couvre la compilation de la version 5.4.1 du noyau Linux sous Linux
Ubuntu ou Debian. Les instructions suivantes ont été testées avec succès sur RHEL 7 / CentOS 7
(et ses clones), Debian Linux, Ubuntu Linux et Fedora Linux 28/29. Cependant, les instructions
restent les mêmes pour toutes les autres distributions Linux.
Comment compiler et installer le noyau Linux 5.4.1
La procédure pour construire (compiler) et installer le dernier noyau Linux à partir du source est la
suivante:
1. Prenez le dernier noyau de kernel.org
2. Vérifier le noyau
3. Décompresser l'archive du noyau
4. Copier le fichier de configuration du noyau Linux existant
5. Compiler et compiler le noyau Linux 5.4.1
6. Installer le noyau Linux et les modules (pilotes)
7. Mettre à jour la configuration de Grub
8. Redémarrez le système
Étape 1. Obtenez le dernier code source du noyau Linux
Visitez le projet officiel le site et télécharger le dernier code source. Cliquez sur le gros bouton
jaune portant la mention « Dernier noyau stable »:

Elies Jebri    Page 1 sur 6 
Compilation noyau vanilla 

Le nom de fichier serait linux-xyztar.xz, où xyz est le numéro de version actuel du noyau
Linux. Par exemple, le fichier linux-5.4.1.tar.xz représente la version 5.4.1 du noyau
Linux. Utilisez la commande wget pour télécharger le code source du noyau Linux:
$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.4.1.tar.xz

Étape 2. Extraire le fichier tar.xz


Vous n'avez vraiment pas besoin d'extraire le code source dans / usr / src. Vous pouvez extraire
le code source de votre répertoire $ HOME ou de tout autre répertoire à l'aide de la commande
unzx ou xz suivante:
$ unxz -v linux-5.4.1.tar.xz
OU
$ xz -d -v linux-5.4.1.tar.xz
Vérifier le tartball du noyau Linux avec pgp
Commencez par récupérer la signature PGP pour linux-5.4.1.tar:
$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.4.1.tar.sign
Essayez de la vérifier:
$ gpg --verify linux-5.4.1.tar.sign
Exemples de sorties:
gpg: assuming signed data in 'linux-5.2.19.tar'
gpg: Signature made Sun 12 Aug 2018 04:00:28 PM CDT
gpg: using RSA key 79BE3E4300411886
gpg: Can't check signature: No public key
Saisissez la clé publique auprès du serveur de clés PGP afin de vérifier la signature, par exemple
l'ID de clé RSA 79BE3E4300411886 (à partir des sorties ci-dessus)
$ gpg --recv-keys 79BE3E4300411886
:
gpg: key 79BE3E4300411886: 7 duplicate signatures removed
gpg: key 79BE3E4300411886: 172 signatures not checked due to missing keys
gpg: /home/vivek/.gnupg/trustdb.gpg: trustdb created
gpg: key 79BE3E4300411886: public key "Linus Torvalds
<torvalds@kernel.org>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1
Maintenant, vérifiez à nouveau la clé gpg avec la commande gpg :
$ gpg --verify linux-5.4.1.tar.sign

Elies Jebri    Page 2 sur 6 
Compilation noyau vanilla 

Exemples de sorties:
gpg: assuming signed data in 'linux-5.2.19.tar'
gpg: Signature made Sun 12 Aug 2018 04:00:28 PM CDT
gpg: using RSA key 79BE3E4300411886
gpg: Good signature from "Linus Torvalds <torvalds@kernel.org>" [unknown]
gpg: aka "Linus Torvalds <torvalds@linux-foundation.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the
owner.
Primary key fingerprint: ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 0041 1886
Si vous n'obtenez pas le résultat « BAD signature » de la commande «gpg --verify», extrayez
l'archive du noyau Linux à l'aide de la commande tar, entrez:
$ tar xvf linux-5.4.1.tar
Étape 3. Configurez les fonctionnalités et les modules du noyau
Linux
Avant de commencer à construire le noyau, il est nécessaire de configurer les fonctionnalités du
noyau Linux. Vous devez également spécifier les modules de noyau (pilotes) nécessaires pour
votre système. La tâche peut être écrasante pour un nouvel utilisateur. Je vous suggère de copier
le fichier de configuration existant à l’aide de la commande cp : Exemples de sorties:
$ cd linux-5.4.1
$ cp -v /boot/config-$(uname -r) .config

'/boot/config-4.15.0-30-generic' -> '.config'

Étape 4. Installez les compilateurs requis et d'autres outils


Des outils de développement tels que les compilateurs GCC et les outils connexes doivent être
installés pour compiler le noyau Linux.
Essayez la commande yum :
$ sudo yum group install "Development Tools"
OU
$ sudo yum groupinstall "Development Tools"
Paquets supplémentaires aussi:
$ sudo yum install ncurses-devel bison flex elfutils-libelf-devel
openssl-devel
Étape 5. Configuration du noyau
Vous pouvez maintenant démarrer la configuration du noyau en tapant l'une des commandes
suivantes dans le répertoire du code source:
 $make menuconfig - Menus de couleur, radiolistes et boîtes de dialogue basés sur du
texte. Cette option est également utile sur un serveur distant si vous voulez compiler le noyau
à distance.
 $make xconfig outil de configuration basé sur X windows (Qt) fonctionne mieux sous le
bureau KDE
 $make gconfig outil de configuration basé sur X windows (gtk) fonctionne mieux sous
Gnome Dekstop.

Elies Jebri    Page 3 sur 6 
Compilation noyau vanilla 

Par exemple, la make menuconfigcommande Exécuter lance l’écran suivant:


$ make menuconfig

Vous devez sélectionner différentes options selon vos besoins. Un bouton HELP est associé à
chaque option de configuration. Sélectionnez le bouton help pour obtenir de l'aide. Veuillez noter
que «make menuconfig» est facultatif. Je l'ai utilisé ici à des fins de démonstration
uniquement. Vous pouvez activer ou désactiver certaines fonctionnalités ou le pilote du noyau avec
cette option. Il est facile de supprimer la prise en charge d'un pilote de périphérique ou d'une option
et de vous retrouver avec un noyau endommagé. Par exemple, si le pilote ext4 est supprimé du
fichier de configuration du noyau, un système peut ne pas démarrer. En cas de doute, laissez
simplement le support dans le noyau.
Étape 6. Comment compiler un noyau Linux
Commencez la compilation et créez une image de noyau compressée, entrez:
$ make
Pour accélérer la compilation, make -j comme suit: La compilation et la création du noyau Linux
prennent beaucoup de temps. Le temps de construction dépend des ressources de votre système,
telles que le noyau de processeur disponible et la charge système actuelle.
## use 4 core/thread ##
$ make -j 4
## get thread or cpu core count using nproc command ##
$ make -j $(nproc)

Elies Jebri    Page 4 sur 6 
Compilation noyau vanilla 

Installer les modules du noyau Linux


$ sudo make modules_install

Installer le noyau Linux


Jusqu'ici, nous avons compilé le noyau Linux et installé les modules du noyau. Il est temps
d'installer le noyau lui-même:
$ sudo make install

il
installera trois fichiers dans le répertoire / boot ainsi que la modification de votre fichier de
configuration grub du noyau:
 initramfs-5.4.1.img
 System.map-5.4.1
 vmlinuz-5.4.1
Etape 7. Mise à jour de la configuration grub
Vous devez modifier les configurations du chargeur de démarrage Grub 2. Tapez la commande
suivante à l'invite du shell selon votre distribution Linux:
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
$ sudo grubby --set-default /boot/vmlinuz-5.4.1
Vous pouvez confirmer les détails avec les commandes suivantes:
grubby --info=ALL | more
grubby --default-index
grubby --default-kernel

Elies Jebri    Page 5 sur 6 
Compilation noyau vanilla 

Vérification
Vous avez compilé un noyau Linux. Le processus prend un certain temps, mais vous avez
maintenant un noyau Linux personnalisé pour votre système. Laissez-nous redémarrer le système.
Redémarrez votre ordinateur Linux et démarrez votre nouveau noyau
$ reboot
Vérifiez la nouvelle version du noyau Linux :
$ uname -mrs
Exemples de sorties:

Linux 5.4.1 x86_64

 
 

Elies Jebri    Page 6 sur 6 

Vous aimerez peut-être aussi