Udev (Čeština)
Úvod
"udev je správce zařízení pro linuxová jádra ze série 2.6. Jeho primární úkol je správa souborů zařízení v /dev
. Je to následník devfs a hotplugu, což znamená, že se kromě adresáře /dev
stará i o veškeré akce v uživatelském prostoru během přidávání a odebírání zařízení, včetně nahrávání firmware." Zdroj: Wikipedia
udev nahrazuje funkcionalitu balíčků hotplug
a hwdetect
.
udev nahrává jaderné moduly souběžně, čímž může urychlit boot systému. Jeho nevýhoda je nicméně ta, že pokaždé nenahrává moduly v tom samém pořadí, a to může způsobovat potíže se zvukovými a síťovými kartami (pokud jich máte více). Pro podrobnosti vizte níže.
O automatickém nahrávání modulů
udev nebude nahrávat žádné moduly, pokud není v souboru /etc/rc.conf
povoleno MOD_AUTOLOAD
. V případě, že automatické nahrávání povolené nemáte, musíte moduly nahrávat manuálně jejich vložením do seznamu MODULES
v souboru rc.conf
. Výčet potřebných modulů si můžete nechat generovat příkazem hwdetect --modules
.
O pravidlech pro udev
Pravidla pro udev patří do /etc/udev/rules.d/
; názvy souborů musí končit na .rules
.
Pokud se chcete naučit psát pravidla pro udev, vizte Writing udev rules (anglicky).
Pro získání seznamu všech atributů nějakého zařízení, jenž můžete použít pro psaní pravidel:
# udevadm info -a -p $(udevadm info -q path -n [název zařízení])
Nahraďte [název zařízení] za zařízení přítomné v systému, jako např. '/dev/sda' nebo '/dev/ttyUSB0'.
Jakmile vytvoříte nová nebo upravíte stávající pravidla pro udev, můžete použít následující příkaz pro restartování systému udev. Zařízení připojitelná za běhu, jakými jsou např. USB zařízení, budete muset pravděpodobně pro uplatnění nových pravidel připojit znovu.
# udevadm control restart
Řešení problémů
Vypínání automatického nahrávání modulů za pomoci boot parametru load_modules
Pokud na bootovací řádek jádra přidáte load_modules=off
, udev přeskočí veškeré automatické nahrávání. Tato možnost vám poskytuje pojistné lanko, za které můžete zatáhnout, když se něco pokazí. Pokud udev nahraje problematický modul, který způsobí zatuhnutí vašeho systému nebo něco obdobně příšerného, můžete automatické nahrávání tímto parametrem přeskočit a onen výbojný modul zakázat.
Zakazování modulů
V ojedinělých případech se Udev může splést a nahrát špatné moduly. Tomu můžete předejít zakázáním oněch modulů. Jakmile je zakážete, Udev je už nikdy nebude nahrávat. Ani při bootu ani později, když je přijata událost připojení některého zařízení za běhu (tj. např. když zasunete do USB portu flash disk).
Abyste zakázali nějaký modul, napište před něj do pole MODULES
v souboru rc.conf
výkřičník:
MODULES=(!moduleA !moduleB)
Známé problémy s hardwarem
Zařízení BusLogic mohou být rozbitá a způsobit během startu zamrznutí systému
Toto je bug v jádře a zatím pro něj nebyla poskytnuta žádná oprava.
Čtečky PCMCIA karet nejsou brány jako vyměnitelná zařízení
Aby k nim získal backend halu pmount přístup, přidejte je do souboru /etc/pmount.allow
.
Známé problémy s automatickým nahráváním
Moduly frekvence CPU
Současná metoda detekce rozličných řadičů frekvence CPU je nevhodná, takže byla prozatím z procesu automatického nahrávání vynechána. Pokud chcete využívat škálování frekvence CPU, nahrajte příslušný modul explicitně v poli MODULES
v souboru rc.conf
.
Problémy se zvukem / Některé moduly se nenahrávají automaticky
Někteří uživatelé našli příčinu problému ve starých záznamech v souboru /etc/modprobe.d/modprobe.conf
. Zkuste onen soubor pročistit a zkuste to znova.
Další zdroje
- Homepage Udev (anglicky)[dead link 2021-05-17 ⓘ]
- Úvod do Udev (anglicky)[dead link 2021-05-17 ⓘ]
- Mailing listy Udev (anglicky)