Document-page-setup.png Attenzione: questo articolo è ancora incompleto e in fase di scrittura da parte del suo autore.

Sentitevi liberi di contribuire, proponendo modifiche alla guida tramite l'apposita pagina di discussione, in modo da non interferire con il lavoro portato avanti sulla voce. Per altre informazioni si rimanda al template.


Il nuovo udev

Questa guida è in buona parte una traduzione di varie informazioni presenti in /usr/share/doc/udev/.

Dalla versione 0.070 in puoi udev ha sostituito completamente hotplug. Per usare questa versione di udev è necessario un kernel 2.6.12 o superiore con le opzioni hotplug (CONFIG_HOTPLUG) e tmpfs (CONFIG_TMPFS) attivate. Le opzioni CONFIG_PNP, CONFIG_ISAPNP, CONFIG_PNPBIOS e CONFIG_PNPACPI sono altamente raggomandate per consentire il caricamente automatico di importanti driver.

Il pacchetto hotplug deve essere rimosso manualmente, anche se non dovrebbe creare problemi se restasse installato.

Come funziona udev

Breve sommario: Quando un driver viene caricato, rende disponibili delle informazioni in /sys e udev viene eseguito per leggerle ecreare il device appropriato.

Questo significa che:

  • i moduli non possono essere caricati su richiesta quando un'applicazione apre un suo dispositivo, perchè il dispositivo non c'è ancora!
  • poichè i moduli non vengono caricati su richiesta, se per qualche motivo i driver non possono essere caricati automaticamente durante il boot, bisognerà aggiungerli ad /etc/modules.
  • alcuni moduli non sono dei driver di un dispositivo e non possono essere caricati automaticamente da udev, devono quindi essere elencati in /etc/modules anch'essi.

In altre parole, su un tipico sistema si potrebbero dover caricare manualmente (usando /etc/modules) dei moduli come ppdev e tun.

Da hotplug a udev

Nel passaggio da hotplug a udev i seguenti file di configurazione sono diventati obsoleti:

  • /etc/hotplug/*.rc e *.agent: i vecchi file di hotplug non vengono più usati. Regole di udev possono essere usate per disabilitare selettivamente il coldplugging.
  • /etc/hotplug/usb/*.usermap: devono essere sostituiti da regole udev.
  • /etc/hotplug/blacklist*: dovrebbero essere sostituite da direttive di configurazione di modprobe (ma adesso modprobe processerà /etc/hotplug/blacklist.d/).

La directory /etc/udev/rules.d/

The files are read and processed in alphabetical order, and the the directives of matching rules are applied in order. The only exceptions are NAME attributes, of which only the first one is considered. Since the order is important, some file names have a specific name which must be considered when adding custom rules. So far have been defined:

  • 020_permissions.rules: the default permissions and owners are set.
  • z50_run.rules: $REMOVE_CMD is run, and then processing of tty devices is stopped with last_rule.
  • z70_hotplugd.rules: last_rule options end processing of "drivers" and "module" hotplug events and the hotplug.d/ and dev.d/ legacy scripts are run.

the use of /etc/udev/rules.d/ by other packages is discouraged, except when only RUN rules are added.


Link

Altri link di approfondimento: