Vyhledávání na webu

Jak načíst a uvolnit moduly jádra v Linuxu


Modul jádra je program, který lze na vyžádání zavést do jádra nebo z něj uvolnit, aniž by bylo nutné jej znovu kompilovat (jádro) nebo restartovat systém, a je určen ke zlepšení funkčnosti jádra.

Obecně řečeno, moduly jsou víceméně jako pluginy do softwaru, jako je WordPress. Pluginy poskytují prostředky pro rozšíření softwarové funkčnosti, bez nich by vývojáři museli vytvořit jediný masivní software se všemi funkcemi integrovanými v balíčku. Pokud jsou potřeba nové funkce, musely by být přidány v nových verzích softwaru.

Stejně tak bez modulů by jádro muselo být sestaveno se všemi funkcemi integrovanými přímo do obrazu jádra. To by znamenalo mít větší jádra a správci systému by museli překompilovat jádro pokaždé, když je potřeba nová funkce.

Jednoduchým příkladem modulu je ovladač zařízení – který umožňuje jádru přístup k hardwarové komponentě/zařízení připojenému k systému.

Doporučená četba: Jak zjistit, jakou verzi Linuxu používáte

Seznam všech načtených modulů jádra v Linuxu

V Linuxu všechny moduly končí příponou .ko a normálně se načítají automaticky, když je při startu systému detekován hardware. Správce systému však může moduly spravovat pomocí určitých příkazů.

Pro výpis všech aktuálně načtených modulů v Linuxu můžeme použít příkaz lsmod (list modules), který přečte obsah /proc/modules takto.

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

Jak načíst a uvolnit (odebrat) moduly jádra v Linuxu

K načtení modulu jádra můžeme použít příkaz insmod (vložit modul). Zde musíme zadat úplnou cestu k modulu. Níže uvedený příkaz vloží modul speedstep-lib.ko.

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

K uvolnění modulu jádra použijeme příkaz rmmod (odstranit modul). Následující příklad uvolní nebo odebere modul speedstep-lib.ko.

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

Jak spravovat moduly jádra pomocí příkazu modprobe

modprobe je inteligentní příkaz pro výpis, vkládání a odstraňování modulů z jádra. Hledá v adresáři modulu /lib/modules/$ (uname -r) všechny moduly a související soubory, ale vylučuje alternativní konfigurační soubory v /etc/modprobe.d adresář.

Zde nepotřebujete absolutní cestu modulu; to je výhoda použití modprobe oproti předchozím příkazům.

Chcete-li vložit modul, jednoduše zadejte jeho název následovně.

modprobe speedstep-lib

Chcete-li odebrat modul, použijte příznak -r, jako je tento.

modprobe -r speedstep-lib

Poznámka: V modprobe se provádí automatická konverze podtržítka, takže není žádný rozdíl mezi _ a zatímco zadávání názvů modulů.

Pro více informací o použití a možnostech si přečtěte manuálovou stránku modprobe.

man modprobe

Nezapomeňte zkontrolovat:

  1. Jak změnit parametry běhu jádra trvalým a netrvalým způsobem
  2. Jak nainstalovat nebo upgradovat na nejnovější verzi jádra v CentOS 7
  3. Jak upgradovat jádro na nejnovější verzi v Ubuntu

To je prozatím vše! Máte nějaké užitečné nápady, které byste chtěli přidat do této příručky nebo dotazů, použijte formulář pro zpětnou vazbu níže a pošlete nám je.