Kuidas tuumamooduleid Linuxis sisse ja välja laadida


Tuumamoodul on programm, mida saab nõudmisel tuumasse laadida või sealt maha laadida, ilma seda (kerneli) uuesti kompileerimata või süsteemi taaskäivitamata, ja see on mõeldud kerneli funktsionaalsuse parandamiseks.

Üldiselt tarkvaralises mõttes on moodulid enam-vähem sarnased tarkvara, näiteks WordPressi pistikprogrammidega. Pistikprogrammid pakuvad vahendeid tarkvara funktsionaalsuse laiendamiseks, ilma nendeta peaksid arendajad ehitama ühe massiivse tarkvara, mille kõik funktsioonid oleksid integreeritud paketti. Kui on vaja uusi funktsionaalsusi, tuleks need lisada tarkvara uutesse versioonidesse.

Samuti ilma mooduliteta peaks kernel olema ehitatud nii, et kõik funktsioonid oleksid integreeritud otse kernelipilti. See tähendaks suuremate tuumade olemasolu ja süsteemiadministraatoritel tuleb tuum uuesti kompileerida iga kord, kui on vaja uut funktsionaalsust.

Mooduli lihtne näide on seadme draiver - mis võimaldab kernelil juurde pääseda süsteemiga ühendatud riistvarakomponendile/seadmele.

Loetlege kõik Linuxi laaditud tuumamoodulid

Linuxis lõpevad kõik moodulid laiendiga .ko ja need laaditakse tavaliselt automaatselt, kui riistvara tuvastatakse süsteemi käivitamisel. Kuid süsteemiadministraator saab mooduleid teatud käskude abil hallata.

Kõigi Linuxi praegu laaditud moodulite loetlemiseks võime kasutada käsku lsmod (nimekirja moodulid), mis loeb/proc/moodulite sisu niimoodi.

# lsmod
Module                  Size  Used by
rfcomm                 69632  2
pci_stub               16384  1
vboxpci                24576  0
vboxnetadp             28672  0
vboxnetflt             28672  0
vboxdrv               454656  3 vboxnetadp,vboxnetflt,vboxpci
bnep                   20480  2
rtsx_usb_ms            20480  0
memstick               20480  1 rtsx_usb_ms
btusb                  45056  0
uvcvideo               90112  0
btrtl                  16384  1 btusb
btbcm                  16384  1 btusb
videobuf2_vmalloc      16384  1 uvcvideo
btintel                16384  1 btusb
videobuf2_memops       16384  1 videobuf2_vmalloc
bluetooth             520192  29 bnep,btbcm,btrtl,btusb,rfcomm,btintel
videobuf2_v4l2         28672  1 uvcvideo
videobuf2_core         36864  2 uvcvideo,videobuf2_v4l2
v4l2_common            16384  1 videobuf2_v4l2
videodev              176128  4 uvcvideo,v4l2_common,videobuf2_core,videobuf2_v4l2
intel_rapl             20480  0
x86_pkg_temp_thermal    16384  0
media                  24576  2 uvcvideo,videodev
....

Kuidas tuumamooduleid Linuxis laadida ja maha laadida (eemaldada)

Tuumamooduli laadimiseks võime kasutada käsku insmod (insert moodul). Siin peame määrama mooduli täieliku tee. Allolev käsk sisestab mooduli speedstep-lib.ko.

# insmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko 

Tuumamooduli mahalaadimiseks kasutame käsku rmmod (eemalda moodul). Järgmine näide laadib või eemaldab mooduli speedstep-lib.ko.

# rmmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko 

Kerneli moodulite haldamine modprobe käsu abil

modprobe on intelligentne käsk moodulite loendamiseks, sisestamiseks ja eemaldamiseks tuumast. See otsib moodulite kataloogist/lib/modules/& # 36 (uname -r) kõiki mooduleid ja seotud faile, kuid välistab alternatiivsed konfiguratsioonifailid kataloogis /etc/modprobe.d.

Siin pole vaja mooduli absoluutset teed; see on modprobe kasutamise eelis eelmiste käskude ees.

Mooduli sisestamiseks sisestage lihtsalt selle nimi järgmiselt.

# modprobe speedstep-lib

Mooduli eemaldamiseks kasutage sellist lippu -r .

# modprobe -r speedstep-lib

Märkus. Modprobe'i all viiakse läbi automaatne allakriipsutuse teisendamine, nii et moodulite nimede sisestamisel pole _ ja - vahel vahet.

Lisateavet kasutuse kohta ja võimaluste kohta lugege modprobe manulehte.

# man modprobe

Ärge unustage vaadata:

  1. Kuidas muuta tuuma käituse parameetreid püsival ja mittepüsival viisil
  2. Kuidas CentOS 7-s installida või uuemale kerneliversioonile uuendada
  3. Kuidas uuendada tuuma Ubuntu uusimale versioonile

Praeguseks kõik! Kas teil on kasulikke ideid, mida soovisite, et me sellele juhendile või päringutele lisaksime, kasutage allpool olevat tagasisidevormi, et need meile saata.