Kaip įkelti ir iškrauti branduolio modulius į Linux
Branduolio modulis yra programa, kurią galima įkelti arba iškrauti iš branduolio pagal poreikį, nebūtinai jo perkompiliuojant (branduolio) ar nepaleidus sistemos iš naujo, ir skirta branduolio funkcionalumui pagerinti.
Apskritai kalbant apie programinę įrangą, moduliai yra daugmaž panašūs į tokios programinės įrangos kaip „WordPress“ papildinius. Papildiniai suteikia galimybę išplėsti programinės įrangos funkcionalumą, be jų kūrėjai turėtų sukurti vieną didžiulę programinę įrangą, kurioje visos funkcijos būtų integruotos į paketą. Jei reikia naujų funkcijų, jas reikės pridėti naujose programinės įrangos versijose.
Be modulių, branduolys turėtų būti kuriamas visas funkcijas integruojant tiesiai į branduolio vaizdą. Tai reikštų, kad turėtumėte didesnius branduolius, o sistemos administratoriams kiekvieną kartą, kai reikės naujos funkcijos, reikės sukompiliuoti branduolį.
Paprastas modulio pavyzdys yra įrenginio tvarkyklė, leidžianti branduoliui pasiekti prie sistemos prijungtą aparatūros komponentą/įrenginį.
Išvardinkite visus „Linux“ įkeltus branduolio modulius
„Linux“ sistemoje visi moduliai baigiasi plėtiniu .ko
ir paprastai jie automatiškai įkeliami, kai aparatūra aptinkama įkrovos metu. Tačiau sistemos administratorius gali valdyti modulius naudodamas tam tikras komandas.
Norėdami išvardyti visus šiuo metu įkeliamus „Linux“ modulius, galime naudoti komandą „lsmod“ („Modulių sąrašas“), kuri skaito panašų/proc/modulių turinį.
# 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 ....
Kaip įkelti ir iškrauti (pašalinti) branduolio modulius sistemoje „Linux“
Norėdami įkelti branduolio modulį, galime naudoti komandą insmod (insert module). Čia mes turime nurodyti visą modulio kelią. Žemiau esančia komanda bus įterptas „speedstep-lib.ko“ modulis.
# insmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko
Norėdami iškrauti branduolio modulį, naudojame komandą rmmod (pašalinti modulį). Šis pavyzdys iškraus arba pašalins „speedstep-lib.ko“ modulį.
# rmmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko
Kaip valdyti branduolio modulius naudojant modprobe komandą
„modprobe“ yra intelektuali komanda modulių įtraukimui, įterpimui ir pašalinimui iš branduolio. Jis ieško modulių kataloge/lib/modules/& # 36 (uname -r) visų modulių ir susijusių failų, tačiau neįtraukia alternatyvių konfigūracijos failų kataloge /etc/modprobe.d.
Čia jums nereikia absoliutaus modulio kelio; tai yra „modprobe“ naudojimo pranašumas prieš ankstesnes komandas.
Norėdami įterpti modulį, tiesiog nurodykite jo pavadinimą taip.
# modprobe speedstep-lib
Norėdami pašalinti modulį, naudokite tokią žymę -r
.
# modprobe -r speedstep-lib
Pastaba: „modprobe“ sistemoje atliekamas automatinis pabraukimo konvertavimas, todėl įvedant modulių pavadinimus nėra jokio skirtumo tarp _
ir -
.
Norėdami gauti daugiau informacijos apie naudojimą ir parinktis, perskaitykite „modprobe“ žmogaus puslapį.
# man modprobe
Nepamirškite patikrinti:
- Kaip nuolat ir nepertraukiamai pakeisti branduolio vykdymo parametrus
- Kaip įdiegti arba atnaujinti į naujausią branduolio versiją sistemoje „CentOS 7“
- Kaip atnaujinti branduolį į naujausią „Ubuntu“ versiją
Tai kol kas viskas! Ar turite naudingų idėjų, kurias norėtumėte, kad pridėtume prie šio vadovo ar užklausų, naudokite toliau pateiktą atsiliepimų formą, kad jas atsiųstumėte mums.