
Linuxové jádro je základní součástí operačního systému Linux. Linuxové jádro má modulární design, který umožňuje jeho rozšíření z hlediska funkčnosti. Moduly jsou malé kousky kódu, které může jádro načíst a uvolnit, aniž by bylo nutné restartovat počítač. Moduly jádra lze načíst/odebrat ručně nebo automaticky.
Když je připojeno/odebráno nové zařízení, jako je USB nebo PCI, jádro odešle uevents. Uevents obsahují informace o zařízení, jako jsou podrobnosti o prodejci a modelu. Udev (správce zařízení) poslouchá tyto události a předává je modprobe. Modprobe inteligentně identifikuje požadovaný ovladač vyhledáním v adresáři modulu /lib/modules/uname -r
a načte soubor modulu do jádra. Jakmile je modul úspěšně načten, objeví se ve výpisu z příkazu lsmod. Kromě toho se modprobe používá k ručnímu přidání nebo odebrání zaváděcího modulu z jádra.
Modprobe je distribuován jako součást balíčku kmod. V tomto tutoriálu se naučíme používat příkaz modprobe přidávat a odebírat moduly z linuxového jádra.
syntaxe příkazu modprobe
Pojďme zkontrolovat syntaxi příkazu modprobe:
$ sudo modprobe [options] [Module Name]
příkaz modprobe pro přidání modulu jádra
Moduly jádra jsou umístěny v podadresářích na adrese /lib/modules/$(uname -r)
. Příkaz uname -r
lze použít k určení aktuální verze jádra.
Při přidávání modulu modprobe inteligentně zkontrolujte závislost modulu tam, kde to insmod nedělá. Závislosti uvedené v souboru /lib/modules/$(uname -r)/modules.dep a odkaz na název modulu je uveden v /etc/modules
soubor.
Chcete-li zobrazit adresář umístěný v modulu jádra, napište:
$ ls /lib/modules/$(uname -r)
Všechny ovladače zařízení najdete v adresáři /lib/modules/$(uname -r)/kernel/drivers/
.
Obvykle mají soubory modulu jádra .ko
rozšíření. Můžete uvést všechna .ko
soubory od:
$ find /lib/modules/$(uname -r) -type f -name *.ko*
Modul můžete přidat do linuxového jádra pomocí příkazu modprobe spolu s názvem modulu.
$ sudo modprobe img_i2s_in
Po přidání můžete potvrdit příkazem lsmod, který uvádí aktuálně načtené moduly jádra.
$ sudo lsmod | grep img_i2s_in
Výstup:
img_i2s_in 16384 0
příkaz modprobe k odstranění modulu jádra
K odstranění modulu použijte příkaz modprobe s volbou -r spolu s názvem modulu.
Chcete-li například odebrat modul s názvem img_i2s_in
, zadejte:
$ sudo modprobe -r img_i2s_in
Možnosti modprobe
Příkaz modprobe má několik možností, které byly rozděleny do tří kategorií na základě jejich případů použití.
Možnost správy
Při použití příkazu modprobe k přidání nebo odebrání modulů umožňují parametry správy více scénářů manipulace s moduly.
Možnosti | Popis |
-a -vše | Odeberte nebo přidejte více modulů najednou |
-- odstranit -r | Odstraňte modul, platí také pro --remove-dependencies |
--remove-dependencies | Odstraňte závislé moduly |
--resolve-alias -R | Identifikujte a vytiskněte jméno odpovídající aliasu |
--poprvé | Chyba tisku pro přidané nebo odebrané moduly |
--ignore-install --ignore-remove -i | Při vkládání nebo vyjímání modulu ignorujte příkazy install nebo remove zapsané v modulu |
--use-blacklist -b | Alias vyřešený na černé listině |
--vynutit -f | Když se zobrazí chyba verze, vynutit přidání nebo odebrání modulu. To platí pro --force-modversion i --force-vermagic. |
-force-modversion | Při přidání nebo odebrání modulu ignorujte verzi modulu. |
-force-vermagic | Při přidávání nebo odebírání modulu ignorujte kouzlo verze modulu. |
Možnosti dotazu
Možnost dotazu příkazu modprobe poskytuje informace o konfiguraci a závislostech.
Možnosti | Popis |
--show-depends -D | Pokud existují nějaké moduly se soubory závislostí, zobrazí se tento modul |
--showconfig --show-config -c | Zobrazení aktuální konfigurace a ukončení |
--show-modversions --dump-modversions | Zobrazit závislosti verze modulu |
Obecné možnosti
Obecné volby v příkazu modprobe konfigurují volby výstupu, umístění modulů a verze.
Možnosti | Popis |
--suchý běh --ukázat -n | Vytiskněte výstup, ale nic nepřidávejte ani neodebírejte. |
--config=[Název souboru] -C | Přepíše výchozí závislost konfigurace, tj. /etc/modprobe.d s [název souboru] |
--dirname=[Adresář] -d | Pro /lib/modules použijte [Adresář] jako kořen souborového systému |
--set-version=[verze] -S | Místo zadaného jádra uname , použijte jádro [verze] |
--syslog -s | Zobrazuje chybovou zprávu prostřednictvím Syslog |
--tichý -q | Nezobrazovat chybové zprávy |
-- podrobné -v | Umožňuje zobrazení více zpráv |
--verze -V | Zobrazit verzi modprobe |
--pomoc -h | Zobrazit zprávu nápovědy spolu s příkazy |
Závěr
V tomto tutoriálu jsme se dozvěděli o příkazu modprobe pro přidání nebo odebrání modulů z linuxového jádra.
Děkujeme za přečtení, poskytněte nám prosím zpětnou vazbu a návrhy.