Obsah
Hardware - přidání a odebírání
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).
Zavedení ovladače do systému
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
.
Získávání informací: užitečné příkazy
příkazy ls*
vypisují informace o hardware příslušné skupiny:
lspci
alspcidrake
- 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ý.
Získávání informací: užitečné adresáře
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“.
- v souboru
/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 isyslog
)/proc/meminfo
využití paměti/proc/modules
zavedené moduly jádra/proc/version
- verzi jádra- atd.
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.
- například v podadresáři
/dev/cpu
máte tolik podadresářů, kolik máte procesorů/jader - v
/dev/disk/
jsou podadresáře a soubory týkající se vašich disků a diskových oddílů atd