Moduly jádra

Z Wikiverzity

Moduly jádra jsou stavebními kameny modulárního jádra. Velmi často se jedná o ovladače nejrůznějších hardwareových zařízení.

Úvod[editovat]

Při překladu jádra můžeme zpravidla volit, zda ten který ovladač zakompilovat přímo do jádra, anebo kompilovat do formy modulu: takový modul je pak možno za běhu jádra připojovat a odpojovat podle momentální potřeby. V operační paměti pak máme zavedeny ty moduly, které jsou potřeba (např. při připojení nějakého externího zařízení, momentálního používání nějakého exotického filesystému atd.) a ve chvíli, kdy jsou k nepotřebě, je možné modul vysunout a tím uvolnit místo v paměti, kterou zabíral.

Adresáře[editovat]

Soubory s přeloženými jádry jsou umístěny v adresáři

/lib/modules/uname-r

kde uname-r je verze jádra, kterou obdržíme po zadání příkazu:

uname -r

Soubory[editovat]

modules.dep[editovat]

Soubor /lib/modules/uname-r/modules.dep je textový soubor, obsahující seznam všech souborů s moduly ve výše uvedeném adresáři (je rychlejší najít potřebný modul v tomto seznamu než pokaždé prohledávat celý adresář s podadresáři). Kromě toho ale odráží i vzájemné závislosti (dependencies) modulů.

modules.alias[editovat]

Textový soubor s aliasy pro jména modulů (v některých případech poskytují jednodušší pojmenování)

modules.*map[editovat]

Textové soubory s mapami některých symbolů (využívají se hlavně pro hotplug).

Utility[editovat]

Utility pro práci s moduly:

depmod[editovat]

Vygeneruje výše uvedený soubor modules.dep se seznamem a závislostmi modulů a mapy.

Tuto utilitu zpravidla spouštíé skripty, které instalují či odinstalovávají nějaké přeložené moduly. V případě, že přidáme (či odebereme) nějaký modul sami, nesmíe zapomenout tuto utilitu použít.

lsmod[editovat]

Vypíše seznam modulů, které jsou momentálně zastrčeny v jádru (v podstatě vypíše obsah souboru /proc/modules).

modprobe[editovat]

Základení utilita pro inteligentní přidávání a odebírání modulů do/z jádra.

modprobe jméno modulu zavede modul do jádra
modprobe -r jméno modulu odstraní modul z jádra
modprobe -v -n jméno modulu nedělá doopravdy nic, jen posílá hlášky (verbose), jako kdyby to dělal