# Udev (Česky)

## Ú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)
- Úvod do Udev (anglicky)
- Mailing listy Udev (anglicky)

Category:

- Hardware detection and troubleshooting (Česky)