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.