Recherche de site Web

Comment compiler le noyau Linux sur CentOS 7


L'exécution d'un noyau Linux compilé personnalisé est toujours utile, en particulier lorsque vous cherchez à activer ou désactiver des fonctionnalités spécifiques du noyau, qui ne sont pas disponibles dans les noyaux fournis par défaut par la distribution.

Dans cet article, je vais expliquer comment compiler et utiliser le dernier noyau Linux à partir des sources de la distribution CentOS 7 (les instructions fournies ici fonctionnent également sur RHEL et Fedora). ).

Si vous ne souhaitez pas passer par ces configurations complexes, suivez notre article simple qui explique Comment installer ou mettre à niveau vers le noyau sur CentOS 7 à l'aide d'un référentiel RPM tiers.

Installer les packages requis pour la compilation du noyau

Tout d'abord, assurez-vous de mettre à jour vos référentiels de packages logiciels, d'installer les outils de développement nécessaires à la compilation d'un noyau et d'installer la bibliothèque ncurses à l'aide de la commande yum suivante.

yum update
yum install -y ncurses-devel make gcc bc bison flex elfutils-libelf-devel openssl-devel grub2

Compiler et installer le noyau dans CentOS 7

Téléchargez les dernières sources du noyau 4.17 à l'aide de la commande wget dans le répertoire /usr/src/ ou vous pouvez également télécharger le dernier noyau en accédant à kernel.org.

cd /usr/src/
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.11.tar.xz

Extrayez les fichiers archivés et modifiez les répertoires à l'aide des commandes suivantes.

tar -xvf linux-4.17.11.tar.xz
cd linux-4.17.11/

Configurer le noyau dans CentOS 7

Le noyau doit être correctement configuré avec les options de configuration requises suivantes dans l'environnement CentOS 7.

CONFIG_KVM_GUEST=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_BLK_DEV_SD
CONFIG_SCSI_VIRTIO=y
CONFIG_VIRTIO_NET=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y

Je vous suggère fortement de copier la configuration du noyau en cours d'exécution (.config) du répertoire /boot vers le nouveau répertoire linux-4.17.11 du noyau.

cp -v /boot/config-3.10.0-693.5.2.el7.x86_64 /usr/src/linux-4.17.11/.config

Exécutez maintenant la commande make menuconfig pour configurer le noyau Linux. Une fois que vous avez exécuté la commande ci-dessous, une fenêtre contextuelle apparaît avec tous les menus. Ici, vous pouvez activer ou désactiver certaines fonctionnalités du noyau. Si vous n'êtes pas familier avec ces menus, appuyez simplement sur la touche ESC pour quitter.

cd /usr/src/linux-4.17.11/
make menuconfig

Une fois les options de configuration de votre noyau définies, cliquez sur Enregistrer pour enregistrer l'interface de configuration et quitter le menu.

Compilez le noyau dans CentOS 7

Avant de démarrer la compilation du noyau, assurez-vous que votre système dispose de plus de 25 Go d'espace libre sur le système de fichiers. Pour confirmer, vous pouvez vérifier l'espace libre du système de fichiers à l'aide de la commande df comme indiqué.

df -h

Maintenant, compilez et installez le noyau et les modules à l'aide des commandes suivantes (cela peut prendre plusieurs heures). Le processus de compilation place les fichiers dans le répertoire /boot et crée également une nouvelle entrée de noyau dans votre fichier grub.conf.

make bzImage
make modules
make
make install
make modules_install

Une fois la compilation terminée, redémarrez le système et vérifiez le noyau nouvellement installé.

uname -sr

C'est ça. J'espère que cet article vous sera très utile à tous. Si vous rencontrez des problèmes ou des difficultés lors de la compilation ou de l'installation du noyau, n'hésitez pas à poser ou à poster vos questions en utilisant notre formulaire de commentaires ci-dessous.