Com instal·lar capçaleres del nucli a CentOS 7


Quan compileu un mòdul de nucli personalitzat, com ara un controlador de dispositiu en un sistema CentOS, heu de tenir els fitxers de capçalera del nucli instal·lats al sistema, que inclouen els fitxers de capçalera C per al nucli Linux. Els fitxers de capçalera del nucli proporcionen diferents tipus de definicions de funcions i estructura necessàries per instal·lar o compilar qualsevol codi que s'interfaci amb el nucli.

Quan instal·leu les capçaleres del nucli, assegureu-vos que coincideix amb la versió del nucli instal·lada actualment al sistema. Si la vostra versió del nucli inclou la instal·lació de distribució per defecte o si heu actualitzat el vostre nucli mitjançant el gestor de paquets yum dels dipòsits de la base del sistema, haureu d'instal·lar les capçaleres del nucli coincidents només amb el gestor de paquets. Si heu compilat el nucli des de les fonts, només podeu instal·lar les capçaleres del nucli des de les fonts.

En aquest article, explicarem com instal·lar les capçaleres del nucli a les distribucions CentOS/RHEL 7 i Fedora mitjançant el gestor de paquets predeterminat.

Instal·leu les capçaleres del nucli a CentOS 7

Primer confirmeu que les capçaleres del nucli coincidents ja estan instal·lades a la ubicació /usr/src/kernels/ del vostre sistema mitjançant les ordres següents.

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

Si no hi ha cap capçalera del nucli coincident al directori /usr/src/kernels/, seguiu endavant i instal·leu les capçaleres del nucli, que proporciona el paquet kernel-devel que es pot instal·lar mitjançant el gestor de paquets predeterminat, tal com es mostra.

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

Després d'instal·lar el paquet kernel-devel, podeu trobar tots els fitxers de capçalera del nucli al directori /usr/src/kernels fent servir l'ordre següent.

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

Tingueu en compte que en un VPS (per exemple, un VPS de Linode), un nucli pot tenir un nom de versió personalitzat; en aquest cas, heu d'identificar la versió del nucli manualment i comprovar els fitxers de capçalera del nucli instal·lats mitjançant les ordres següents.

# 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

A més, si necessiteu fitxers d'encapçalament per al nucli de Linux perquè els faci servir la glibc, instal·leu el paquet kernel-header mitjançant l'ordre següent.

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

Ara ja esteu bé per compilar els vostres mòduls del nucli o els existents per a programari com VirtualBox i molts més.

Això és! En aquest article, hem explicat com instal·lar paquets de desenvolupament del nucli i de capçalera del nucli als sistemes CentOS/RHEL 7 i Fedora. Recordeu que abans de poder compilar mòduls del nucli com ara el controlador de dispositiu en un sistema Linux, hauríeu de tenir instal·lats els fitxers de capçalera del nucli necessaris. Si teniu preguntes, utilitzeu el formulari de comentaris a continuació per contactar amb nosaltres.