Kā ielādēt un izkraut kodola moduļus Linux


Kodola modulis ir programma, kuru pēc pieprasījuma var ielādēt vai izkraut no kodola, to obligāti nepārkompilējot (kodolu) vai pārstartējot sistēmu, un tā ir paredzēta kodola funkcionalitātes uzlabošanai.

Parasti programmatūras izteiksmē moduļi ir vairāk vai mazāk līdzīgi spraudņiem tādai programmatūrai kā WordPress. Spraudņi nodrošina līdzekļus programmatūras funkcionalitātes paplašināšanai, bez tiem izstrādātājiem būtu jāveido viena liela programmatūra ar visām funkcijām, kas integrētas paketē. Ja ir nepieciešamas jaunas funkcionalitātes, tās būtu jāpievieno jaunās programmatūras versijās.

Tāpat bez moduļiem kodols būtu jāveido ar visām funkcijām, kas tieši integrētas kodola attēlā. Tas nozīmētu, ka ir lielāki kodoli, un sistēmas administratoriem kodols jāpārkompilē katru reizi, kad nepieciešama jauna funkcionalitāte.

Vienkāršs moduļa piemērs ir ierīces draiveris, kas ļauj kodolam piekļūt aparatūras komponentam/ierīcei, kas savienota ar sistēmu.

Uzskaitiet visus Linux ielādētos kodola moduļus

Linux sistēmā visi moduļi beidzas ar paplašinājumu .ko , un tie parasti tiek ielādēti automātiski, kad aparatūra tiek atklāta sistēmas sāknēšanas laikā. Tomēr sistēmas administrators var pārvaldīt moduļus, izmantojot noteiktas komandas.

Lai uzskaitītu visus Linux pašlaik ielādētos moduļus, mēs varam izmantot komandu lsmod (saraksts moduļi), kas lasa šāda veida/proc/module saturu.

# 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
....

Kā ielādēt un izkraut (noņemt) kodola moduļus Linux

Lai ielādētu kodola moduli, mēs varam izmantot komandu insmod (insert module). Šeit mums jānorāda pilns moduļa ceļš. Zemāk esošā komanda ievietos moduli speedstep-lib.ko.

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

Lai izkrautu kodola moduli, mēs izmantojam komandu rmmod (noņemt moduli). Šajā piemērā tiks izlādēts vai noņemts modulis speedstep-lib.ko.

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

Kā pārvaldīt kodola moduļus, izmantojot modprobe komandu

modprobe ir inteliģenta komanda moduļu uzskaitīšanai, ievietošanai, kā arī moduļu noņemšanai no kodola. Tas meklē moduļu direktorijā/lib/modules/& # 36 (uname -r) visus moduļus un saistītos failus, bet alternatīvos konfigurācijas failus izslēdz direktorijā /etc/modprobe.d.

Šeit jums nav nepieciešams absolūtais moduļa ceļš; šī ir modprobe izmantošanas priekšrocība salīdzinājumā ar iepriekšējām komandām.

Lai ievietotu moduli, vienkārši norādiet tā nosaukumu šādi.

# modprobe speedstep-lib

Lai noņemtu moduli, izmantojiet -r karodziņu kā šis.

# modprobe -r speedstep-lib

Piezīme. Izmantojot modprobe, tiek veikta automātiska pasvītrojuma pārveidošana, tāpēc moduļu nosaukumu ievadīšanas laikā nav atšķirības starp _ un - .

Lai iegūtu papildinformāciju par lietošanu un iespējām, izlasiet modprobe man lapā

# man modprobe

Neaizmirstiet pārbaudīt:

  1. Kā nemainīgā un nepastāvīgā veidā mainīt kodola izpildlaika parametrus
  2. Kā CentOS 7 instalēt vai jaunināt uz jaunāko kodola versiju
  3. Kā jaunināt kodolu uz jaunāko Ubuntu versiju

Tas pagaidām ir viss! Vai jums ir kādas noderīgas idejas, kuras vēlaties, lai mēs pievienotu šai rokasgrāmatai vai vaicājumiem, izmantojiet tālāk sniegto atsauksmju veidlapu, lai tās nodotu mums.