Toto téma je velmi široké, protože různé druhy hardware se zprovoznňují odlišným způsobem. Proto zde toto téma probereme jen obecně. Pro obecný popis o přidávání jaderných modulů (s ovladači) do systému Jádro a jeho úpravy.
Ovladače jsou v linuxu součástí jádra (kernelu) a jsou spoušteny v kernel space. Mohou být zkompilovány jako nedílná součást jádra, nebo jako jaderný modul, který systém načte v případě potřeby.
Pokud do systému přidáte nový hardware, je nezbytné zjistit, jaký ovladač potřebuje. Něco může zodpovědět příkaz
# dmesg
který vypíše odezvu systému na poslední hardwarovou událost. Pokud tedy připojíte k počítači kupříkladu usb flash pamět, ve výpisu se to projeví. Z výpisu zjistíte, jak systém zařízení detekoval, kam ho připojil atd. Příklad je např. zde: Nastavení webové kamery.
Pokud není systém schopen přiřadit zařízení příslušný ovladač, je zapotřebí propátrat internet a potřebnou informaci najít. Dále se dá zjistit, zda je uvedený soubor součástí některého RPM balíčku v repozitářích Mageii:
# urpmf --files jmeno_souboru
Parametr jméno_souboru použijte přesně. V odpovědi se vypíšou balíčky soubor obsahující. Máte-li štěstí, je součástí některého distribučního jádra (balíčky se slovem kernel v názvu).
Není-li potřebný ovladač aktivní, je zapotřebí ho do systému zavést:
# modprobe nazev_ovladace
Zda se podařilo úspěšně zavést správný ovladač lze zjistit z reakce hardwarového zařízení. Lze také použít příkaz
# lsmod
který vypíše do paměti systému načtené moduly (ovladače). Je-li mezi nimi i ten váš, zadali jste příkaz správně.
Systém by nyní měl zařízení správně detekovat a zprovoznit. Použijte k tomu vhodnou aplikaci, která dané zařízení využívá. Pokud zařízení nefunguje, použili jste špatný ovladač (někdy stačí, když se použije nesprávná verze).
Pokud soubor s ovladačem není součástí jádra, které používáte, nainstalujte si to jádro, kde je ve výpisu obsažen.
Není-li obsažen v žádném balíčku z repozitářů, budete si muset ovladač sami zkompilovat - více viz soubory README, které jsou běžnou součástí zdrojových souborů ovladačů. Nelze být více konkrétní, protože ovladače mohou být napsány v různých programovacích jazycích a způsob kompilace se pak liší.
Po (úspěšné) kompilaci opět nastoupí příkaz modprobe.
příkazy ls* vypisují informace o hardware příslušné skupiny:
lspci a lspcidrake - zařízení na sběrnici PCIlscpu - informace o procesorulsusb - zařízení USBlsmod - načtené moduly (ovladače)lsattr - vypisuje atributy souborů
Další velmi užitečné výstupy poskytne příkaz hwinfo ze stejnojmenného balíčku, lze nainstalovat příkazem
# urpmi hwinfo
Obsahuje jednoduchou nápovědu (hwinfo --help), takže použití příkazu zvládne každý.
Další info k problematickému hardware můžete získat ze speciálního adresáře /proc/ a /dev. Zde se v příslušných podadresářích nacházejí soubory zařízení, které reprezentují jednotlivé hardwarové komponenty. Obvykle se pro výpis informací používá příkaz
cat /proc/[podadresar/]soubor
Například info o procesoru:
cat /proc/cpuinfo
vypíše informace o procesoru.
Podadresáře jsou logicky pojmenovány. Pokud obsahují jen čísla, jde o čísla běžících procesů (proto se i adresář jmenuje /proc).
Pokud si uvědomíte, že v linuxu je „vše soubor“, pak i připojená zařízení jsou „soubor“, a to spuštěný, tedy dala by se použít parafráze „vše co pracuje je proces“.
/proc/devices naleznete seznam ovladačů, které vaše jádro obsahuje/proc/filesystems seznam jádru známých souborových systémů/proc/interrupts používaná přerušení,/proc/ioports používané vstupní a výstupní porty/proc/kcore obsahuje obraz paměti/proc/kmsg hlášení jádra (odtud je bere i syslog)/proc/meminfo využití paměti/proc/modules zavedené moduly jádra/proc/version - verzi jádra
Programy jako cpuinfo, free a mnohé další berou informace právě odtud.
Ze souborů v adresáři /dev/ mnoho informací nezískáte (nejde o textové soubory), ale procházením jmen souborů se můžete lecos dozvědět.
/dev/cpu máte tolik podadresářů, kolik máte procesorů/jader/dev/disk/ jsou podadresáře a soubory týkající se vašich disků a diskových oddílů atd