Kako namestiti glave jedra v CentOS 7


Ko sestavite modul jedra po meri, kot je gonilnik naprave v sistemu CentOS, morate imeti v sistemu nameščene datoteke z glavo jedra, ki vključujejo datoteke z glavo C za jedro Linuxa. Datoteke z glavo jedra ponujajo različne vrste definicij funkcij in struktur, ki so potrebne pri nameščanju ali sestavljanju katere koli kode, ki je v vmesniku z jedrom.

Ko namestite glave jedra, se prepričajte, da se ujema s trenutno nameščeno različico jedra v sistemu. Če vaša različica jedra vsebuje privzeto namestitev distribucije ali ste jedro nadgradili z upraviteljem paketov yum iz sistemskih osnovnih skladišč, morate ustrezne glave jedra namestiti samo z upraviteljem paketov. Če ste jedro prevedli iz virov, lahko glave jedra namestite samo iz virov.

V tem članku bomo razložili, kako z uporabo privzetega upravitelja paketov namestite glave jedra v distribucije CentOS/RHEL 7 in Fedora.

Namestite glave jedra v CentOS 7

Najprej potrdite, da so ustrezne glave jedra že nameščene pod/usr/src/kernels/location v vašem sistemu z uporabo naslednjih ukazov.

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

Če v imeniku/usr/src/kernels/ni nobenih ujemajočih se glav jedra, nadaljujte in namestite glave jedra, ki jih zagotavlja paket kernel-devel, ki ga lahko namestite s privzetim upraviteljem paketov, kot je prikazano.

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

Po namestitvi paketa kernel-devel lahko z naslednjim ukazom najdete vse datoteke glav jedra v imeniku/usr/src/kernels.

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

Upoštevajte, da ima VPS (na primer Linode VPS) jedro ime prilagojene različice, zato morate v takem primeru ročno določiti različico jedra in preveriti nameščene datoteke z glavo jedra z naslednjimi ukazi.

# 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

Poleg tega, če potrebujete datoteke z glavo za jedro Linuxa, ki jih uporablja glibc, namestite paket glave jedra z naslednjim ukazom.

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

Zdaj lahko začnete z zbiranjem lastnih ali obstoječih modulov jedra za programsko opremo, kot je VirtualBox in še veliko več.

To je to! V tem članku smo razložili, kako namestiti pakete kernel-devel in kernel-header v sisteme CentOS/RHEL 7 in Fedora. Ne pozabite, da morate pred sestavljanjem modulov jedra, na primer gonilnika naprave, v sistemu Linux imeti nameščene potrebne datoteke z glavo jedra. Če imate vprašanja, nas kontaktirajte s spodnjim obrazcem za komentar.