Aby zařízení pracovalo, musí pro něj v systému existovat ovladač, pomocí kterého k němu systém (v Linuxu jádro) přistupuje. Možné způsoby integrace ovladačů do systému lze:
Ovladač může být zakompilován přímo do jádra. Takové jádro se pak nazývá monolitické (v kuse). některé ovladače jsou dostupné pouze v této formě.
Ovladače lze zavést do jádra na požádání jako moduly. Takové jádro se pak nazývá modulární. Má tu velkou výhodu, že se zavedou pouze potřebné ovladače a neobsahuje tak nic nepotřebného.
Který ovladač se zakompiluje do jádra a který jako modul je definováno v konfiguraci jádra. V zásadě by mělo platit, že části, které nejsou přímo potřeba běhu k systému, by měly být zaváděny jako moduly. Tak se zajistí, že jádro není příliš velké pro zavedení BIOSem nebo zavaděčem. Ovladače pro ext2, SCSI mechaniky a SCSI subsystém by měly být zakompilovány do jádra. Naopak podpora isofs, msdos nebo zvuku patří k typickým částem zaváděným jako moduly.
Moduly jádra se nacházejí v adresáři /lib/modules/<verze>, kde
verze je aktuální verze jádra.
Příkazem hwinfo můžete zjistit hardware vašeho systému a zvolit správné ovladače. Rychlou nápovědu k příkazu získáte zadáním hwinfo --help.
Pokud potřebujete např. informaci o SCSI zařízeních, zdajte příkaz hwinfo --scsi.
Všechny tyto infromace také samozřejmě najdete v modulu informací o hardwaru programu YaST.
Pro práci s moduly se používají tyto příkazy:
Příkazem insmod se zadaný modul zavede. Hledá se přitom v adresáři
/lib/modules/verze_jadra. (Tento příkaz i následující se však většinou nevolají samostatně, ale obecnějším příkazem modprobe, viz dále.)
Odstraní zadaný modul. To ovšem není možné, pokud je tento modul používán. Například není možné odstranit modul isofs, pokud je stále ještě připojeno CD.
Tento příkaz vytvoří soubor se jménem modules.dep v adresáři
/lib/modules/verze_jadra, kde jsou definovány závislosti mezi jednotlivými moduly. Tím se zajistí, že při zavedení určitého modulu se také automaticky zavedou všechny závislé moduly.
Zavádí a odstraňuje moduly s ohledem na vzájemné závislosti. Poskytuje též řadu dalších služeb, jako postupné zkoušení více modulů stejného typu, než se jeden osvědčí. Na rozdíl od zavádění programem insmod pracuje program modprobe se souborem /etc/modprobe.conf. V současné době představuje modprobe doporučený nástroj k zavádění modulů. Podrobné vysvětlení jeho jednotlivých možností najdete na příslušných manuálových stránkách.
Ukazuje, které moduly jsou právě zavedeny a kolik dalších modulů je používá. Moduly, zavedené kernelovým démonem, jsou označeny jako autoclean, což naznačuje, že budou automaticky odstraněny, pokud nejsou používány a vyprší jim povolená doba nečinnosti.
Zobrazí infromace o modulu. Protože jde o informace získané přímo od modulu, zobrazují se pouze informace z modulu. Mohou obsahovat jméno autora, popis, licenci, parametry, závislosti a aliasy.
Zavádění modulů ovlivňují soubory
/etc/modprobe.conf ad
/etc/modprobe.conf.local
a adresář /etc/modprobe.d.
Více najdete v manálové strance man modprobe.conf.
V tomto souboru musí být zadány všechny parametry modulů přistupujících k hardwaru. Některé moduly, např. ovladač CD mechaniky nebo síťové karty, mohou vyžadovat zvláštní parametry. Možné parametry jsou popsané ve zdrojových kódech jádra. Po instalaci balíčku kernel-source najdete potřebné infromace v adresáři /usr/src/linux/Documentation.
Zavaděč modulů jádra je jeden z nejelegantnějších způsobů práce s moduly. Kmod (kernel module loader) zajišťuje sledování na pozadí a stará se o správné zavadení potřebných modulů pomocí příkazu modprobe.
Kmod aktivujete volbou
(CONFIG_KMOD) v konfiguraci jádra. Kmod neodstraňuje moduly automaticky. Omezení pro něj představuje pouze velikost RAM. Z toho důvodu je pro servery se zvlášními funkcemi lepším řešením monolitické jádro s několika ovladači.