Ricerca nel sito web

Come installare le intestazioni del kernel in CentOS 7


Quando compili un modulo kernel personalizzato come un driver di dispositivo su un sistema CentOS, devi avere file di intestazione del kernel installati sul sistema, che includono i file di intestazione C per il kernel Linux. I file di intestazione del kernel forniscono diversi tipi di definizioni di funzioni e strutture richieste durante l'installazione o la compilazione di qualsiasi codice che si interfaccia con il kernel.

Quando installi Kernel Headers, assicurati che corrisponda alla versione del kernel attualmente installata sul sistema. Se la tua versione del kernel viene fornita con l'installazione di distribuzione predefinita o hai aggiornato il tuo kernel utilizzando il gestore pacchetti yum dai repository di base del sistema, devi installare le intestazioni del kernel corrispondenti utilizzando solo il gestore pacchetti. Se hai compilato il kernel dai sorgenti, puoi installare gli header del kernel solo dai sorgenti.

Leggi anche: Come installare le intestazioni del kernel in Ubuntu e Debian

In questo articolo, spiegheremo come installare Kernel Headers nelle distribuzioni CentOS/RHEL 7 e Fedora utilizzando il gestore pacchetti predefinito.

Installa le intestazioni del kernel in CentOS 7

Per prima cosa conferma che le intestazioni del kernel corrispondenti siano già installate nella posizione /usr/src/kernels/ sul tuo sistema utilizzando i seguenti comandi.

cd /usr/src/kernels/
ls -l

Se non si trovano intestazioni del kernel corrispondenti nella directory /usr/src/kernels/, vai avanti e installa le intestazioni del kernel, fornite dal pacchetto kernel-devel che può essere installato utilizzando il gestore pacchetti predefinito come mostrato.

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

Dopo aver installato il pacchetto kernel-devel, puoi trovare tutti i file di intestazione del kernel nella directory /usr/src/kernels utilizzando il seguente comando.

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

Nota su un VPS (ad esempio un Linode VPS), un kernel può avere un nome di versione personalizzato, in tale scenario, devi identificare manualmente la versione del kernel e controllare i file di intestazione del kernel installati utilizzando i seguenti comandi .

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

Uscita del campione
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

Inoltre, se hai bisogno di file header per il kernel Linux da utilizzare da glibc, installa il pacchetto kernel-header utilizzando il seguente comando.

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

Ora sei pronto per compilare i moduli del kernel tuoi o esistenti per software come VirtualBox e molti altri.

Questo è tutto! In questo articolo, abbiamo spiegato come installare i pacchetti kernel-devel e kernel-header in CentOS/RHEL 7 e Fedora< sistemi. Ricorda che prima di poter compilare moduli del kernel come driver di dispositivo su un sistema Linux, dovresti avere installati i file di intestazione del kernel necessari. Se hai domande, utilizza il modulo commenti qui sotto per contattarci.