Recherche de site Web

Comment installer les en-têtes du noyau dans CentOS 7


Lorsque vous compilez un module de noyau personnalisé tel qu'un pilote de périphérique sur un système CentOS, vous devez avoir installé les fichiers d'en-tête du noyau sur le système, qui incluent les fichiers d'en-tête C pour le noyau Linux. Les fichiers d'en-tête du noyau fournissent différents types de définitions de fonctions et de structures requis lors de l'installation ou de la compilation de tout code interfaçant avec le noyau.

Lorsque vous installez les Kernel Headers, assurez-vous qu'ils correspondent à la version du noyau actuellement installée sur le système. Si votre version du noyau est fournie avec l'installation de distribution par défaut ou si vous avez mis à niveau votre noyau à l'aide du gestionnaire de packages yum à partir des référentiels de base du système, vous devez installer les en-têtes de noyau correspondants à l'aide du gestionnaire de packages uniquement. Si vous avez compilé le noyau à partir des sources, vous pouvez installer les en-têtes du noyau à partir des sources uniquement.

Lire aussi : Comment installer les en-têtes du noyau dans Ubuntu et Debian

Dans cet article, nous expliquerons comment installer les Kernel Headers dans les distributions CentOS/RHEL 7 et Fedora à l'aide du gestionnaire de packages par défaut.

Installer les en-têtes du noyau dans CentOS 7

Confirmez d'abord que les en-têtes de noyau correspondants sont déjà installés sous l'emplacement /usr/src/kernels/ sur votre système à l'aide des commandes suivantes.

cd /usr/src/kernels/
ls -l

Si aucun en-tête de noyau correspondant ne se trouve dans le répertoire /usr/src/kernels/, continuez et installez les en-têtes de noyau, qui sont fournis par le paquet kernel-devel qui peut être installé à l'aide du gestionnaire de packages par défaut, comme indiqué.

yum install kernel-devel   [On CentOS/RHEL 7]
dnf install kernel-devel   [On Fedora 22+]

Après avoir installé le package kernel-devel, vous pouvez trouver tous les fichiers d'en-tête du noyau dans le répertoire /usr/src/kernels à l'aide de la commande suivante.

ls -l /usr/src/kernels/$(uname -r) 

Remarque sur un VPS (par exemple un VPS Linode), un noyau peut avoir un nom de version personnalisé, dans un tel scénario, vous devez identifier la version du noyau manuellement et vérifier les fichiers d'en-tête du noyau installés à l'aide des commandes suivantes .

uname -r	
ls -l /usr/src/kernels/3.10.0-862.2.3.el7.x86_64

Exemple de sortie
total 4544
drwxr-xr-x.  32 root root    4096 May 16 12:48 arch
drwxr-xr-x.   3 root root    4096 May 16 12:48 block
drwxr-xr-x.   4 root root    4096 May 16 12:48 crypto
drwxr-xr-x. 119 root root    4096 May 16 12:48 drivers
drwxr-xr-x.   2 root root    4096 May 16 12:48 firmware
drwxr-xr-x.  75 root root    4096 May 16 12:48 fs
drwxr-xr-x.  28 root root    4096 May 16 12:48 include
drwxr-xr-x.   2 root root    4096 May 16 12:48 init
drwxr-xr-x.   2 root root    4096 May 16 12:48 ipc
-rw-r--r--.   1 root root     505 May  9 19:21 Kconfig
drwxr-xr-x.  12 root root    4096 May 16 12:48 kernel
drwxr-xr-x.  10 root root    4096 May 16 12:48 lib
-rw-r--r--.   1 root root   51205 May  9 19:21 Makefile
-rw-r--r--.   1 root root    2305 May  9 19:21 Makefile.qlock
drwxr-xr-x.   2 root root    4096 May 16 12:48 mm
-rw-r--r--.   1 root root 1093137 May  9 19:21 Module.symvers
drwxr-xr-x.  60 root root    4096 May 16 12:48 net
drwxr-xr-x.  14 root root    4096 May 16 12:48 samples
drwxr-xr-x.  13 root root    4096 May 16 12:48 scripts
drwxr-xr-x.   9 root root    4096 May 16 12:48 security
drwxr-xr-x.  24 root root    4096 May 16 12:48 sound
-rw-r--r--.   1 root root 3409102 May  9 19:21 System.map
drwxr-xr-x.  17 root root    4096 May 16 12:48 tools
drwxr-xr-x.   2 root root    4096 May 16 12:48 usr
drwxr-xr-x.   4 root root    4096 May 16 12:48 virt
-rw-r--r--.   1 root root      41 May  9 19:21 vmlinux.id

De plus, si vous avez besoin de fichiers d'en-tête pour le noyau Linux à utiliser par la glibc, installez le package kernel-header à l'aide de la commande suivante.

yum install kernel-headers   [On CentOS/RHEL 7]
dnf install kernel-headers   [On Fedora 22+]

Vous êtes maintenant prêt à compiler vos propres modules de noyau ou ceux existants pour des logiciels tels que VirtualBox et bien d'autres.

C'est ça! Dans cet article, nous avons expliqué comment installer les packages kernel-devel et kernel-header dans CentOS/RHEL 7 et Fedora< systèmes. N'oubliez pas qu'avant de pouvoir compiler des modules du noyau tels qu'un pilote de périphérique sur un système Linux, vous devez avoir installé les fichiers d'en-tête du noyau nécessaires. Si vous avez des questions, veuillez utiliser le formulaire de commentaires ci-dessous pour nous contacter.