Cómo instalar encabezados de núcleo en CentOS 7


Cuando compila un módulo de kernel personalizado como el controlador de dispositivo en un sistema CentOS , necesita tener instalados los archivos de encabezado de kernel en el sistema, que incluyen los archivos de encabezado de C para el Kernel de linux Los archivos de encabezado del kernel proporcionan diferentes tipos de funciones y definiciones de estructura requeridas al instalar o compilar cualquier código que interactúe con el kernel.

Cuando instale encabezados de kernel , asegúrese de que coincida con la versión de kernel actualmente instalada en el sistema. Si su versión de Kernel viene con la instalación de distribución predeterminada o si ha actualizado su Kernel con yum package manager desde los repositorios de base del sistema, debe instalar encabezados de kernel que coincidan solo con el administrador de paquetes. Si ha compilado Kernel desde fuentes, puede instalar encabezados de Kernel solo desde fuentes.

En este artículo, explicaremos cómo instalar Kernel Headers en CentOS/RHEL 7 y Fedora utilizando el administrador de paquetes predeterminado.

Instalar los encabezados del núcleo en CentOS 7

Primero confirme que los encabezados de kernel coincidentes ya están instalados en la ubicación /usr/src/kernels/ en su sistema usando los siguientes comandos.

# cd /usr/src/kernels/
# ls -l

Si no hay encabezados de kernel coincidentes en el directorio /usr/src/kernels/, adelante, instale los encabezados de kernel, que se proporcionan con el paquete kernel-devel ser instalado usando el gestor de paquetes predeterminado como se muestra.

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

Después de instalar el paquete kernel-devel , puede encontrar todos los archivos de encabezados de kernel en el directorio /usr/src/kernels usando el siguiente comando.

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

Tenga en cuenta que en un VPS (por ejemplo, un Linode VPS), un kernel puede tener un nombre de versión personalizado. En tal caso, debe identificar la versión del kernel manualmente y verificar los archivos de encabezado del kernel instalados mediante los siguientes comandos. .

# uname -r	
# ls -l /usr/src/kernels/3.10.0-862.2.3.el7.x86_64
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

Además, si necesita archivos de encabezado para el kernel de Linux para su uso por glibc , instale el paquete kernel-header usando el siguiente comando.

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

Ahora está listo para compilar módulos de kernel propios o existentes para software como VirtualBox y muchos más.

¡Eso es! En este artículo, hemos explicado cómo instalar los paquetes kernel-devel y kernel-header en CentOS/RHEL 7 y Fedora fuertes. Recuerde que antes de poder compilar módulos del kernel como el controlador de dispositivo en un sistema Linux, debe tener instalados los archivos de encabezado del kernel necesarios. Si tiene alguna consulta, utilice el formulario de comentarios a continuación para comunicarse con nosotros.