Capitolo 12. Gestione dei dispositivi dinamici del kernel con udev

Sommario

12.1. La directory /dev
12.2. uevents e udev del kernel
12.3. Driver, moduli del kernel e dispositivi
12.4. Avvio e configurazione iniziale di un dispositivo
12.5. Debug di eventi udev
12.6. Modifica della gestione degli eventi dei dispositivi del kernel con le regole udev
12.7. Nomi di dispositivi persistenti
12.8. Il pacchetto hotplug sostituto
12.9. Ulteriori informazioni

A partire dalla versione Linux 2.6 il kernel è in grado di aggiungere o rimuovere quasi tutti i dispositivi installati nel sistema in esecuzione. Le modifiche apportate allo stato del dispositivo, vale a dire se il dispositivo è stato aggiunto o rimosso, devono essere divulgate allo spazio utente (user space). È necessario configurare i dispositivi non appena vengono collegati e rilevati. Inoltre, gli utenti di alcuni dispositivi devono essere informati in merito a tutte le modifiche allo stato del dispositivo. udev fornisce l'infrastruttura necessaria per la gestione dinamica dei file dei nodi dei dispositivi e dei collegamenti simbolici nella directory /dev. Le regole udev consentono di collegare gli strumenti esterni all'evento del dispositivo del kernel in elaborazione. Ciò consente di personalizzare la gestione dei dispositivi udev, ad esempio aggiungendo alcuni script da eseguire come parte della gestione dei dispositivi del kernel, oppure richiedere e importare dati aggiuntivi da valutare durante la gestione del dispositivo.


12.1. La directory /dev

I nodi dei dispositivi inclusi nella directory /dev consentono di accedere ai dispositivi del kernel corrispondenti. Con udev la directory /dev rispecchia lo stato corrente del kernel. A ogni dispositivo del kernel è associato un file di dispositivo corrispondente. Se si disconnette un dispositivo dal sistema, il nodo del dispositivo viene rimosso.

Il contenuto della directory /dev viene salvato in un file system temporaneo e tutti i file vengono creati da zero a ogni avvio del sistema. I file creati o modificati manualmente non vengono mantenuti al riavvio di proposito. I file statici e le directory che devono sempre essere presenti nella directory /dev, a prescindere dallo stato del dispositivo del kernel corrispondente, possono essere archiviati nella directory /lib/udev/devices. All'avvio del sistema, il contenuto di questa directory viene copiato nella directory /dev con la stessa proprietà e le stesse autorizzazioni dei file inclusi in /lib/udev/devices.