Pesquisa de site

Como instalar cabeçalhos de kernel no CentOS 7


Ao compilar um módulo de kernel personalizado, como um driver de dispositivo em um sistema CentOS, você precisa ter arquivos de cabeçalho do kernel instalados no sistema, que incluem os arquivos de cabeçalho C para o núcleo do Linux. Os arquivos de cabeçalho do kernel fornecem diferentes tipos de definições de função e estrutura necessárias ao instalar ou compilar qualquer código que faça interface com o kernel.

Ao instalar Kernel Headers, certifique-se de que ele corresponda à versão do kernel atualmente instalada no sistema. Se a sua versão do Kernel vem com a instalação de distribuição padrão ou você atualizou seu Kernel usando o gerenciador de pacotes yum dos repositórios básicos do sistema, então você deve instalar os cabeçalhos do kernel correspondentes usando apenas o gerenciador de pacotes. Se você compilou o Kernel a partir dos fontes, poderá instalar os cabeçalhos do kernel apenas a partir dos fontes.

Leia também: Como instalar cabeçalhos de kernel no Ubuntu e Debian

Neste artigo, explicaremos como instalar Kernel Headers em distribuições CentOS/RHEL 7 e Fedora usando o gerenciador de pacotes padrão.

Instale cabeçalhos de kernel no CentOS 7

Primeiro, confirme se os cabeçalhos do kernel correspondentes já estão instalados no local /usr/src/kernels/ em seu sistema usando os seguintes comandos.

cd /usr/src/kernels/
ls -l

Se nenhum cabeçalho de kernel correspondente estiver localizado no diretório /usr/src/kernels/, vá em frente e instale os cabeçalhos de kernel, que são fornecidos pelo pacote kernel-devel que pode ser instalado usando o gerenciador de pacotes padrão, conforme mostrado.

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

Depois de instalar o pacote kernel-devel, você pode encontrar todos os arquivos de cabeçalho do kernel no diretório /usr/src/kernels usando o seguinte comando.

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

Nota sobre um VPS (por exemplo, um Linode VPS), um kernel pode ter um nome de versão personalizado, em tal cenário, você deve identificar a versão do kernel manualmente e verificar os arquivos de cabeçalho do kernel instalados usando os seguintes comandos .

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

Saída de amostra
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

Além disso, se você precisar de arquivos de cabeçalho para o kernel Linux para uso pela glibc, instale o pacote kernel-header usando o comando a seguir.

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

Agora você está pronto para compilar seus próprios módulos de kernel ou existentes para software como VirtualBox e muitos mais.

É isso! Neste artigo, explicamos como instalar os pacotes kernel-devel e kernel-header no CentOS/RHEL 7 e no Fedora< sistemas. Lembre-se de que antes de compilar módulos do kernel, como driver de dispositivo em um sistema Linux, você deve ter os arquivos de cabeçalho do kernel necessários instalados. Se você tiver alguma dúvida, use o formulário de comentários abaixo para entrar em contato conosco.