udev e uevents de kernel

As informações de dispositivo necessárias são exportadas pelo sistema de arquivos sysfs. Para cada dispositivo detectado e inicializado pelo kernel, um diretório com o nome do dispositivo é criado. Ele contém arquivos de atributos com propriedades específicas do dispositivo.

Sempre que um dispositivo é adicionado ou removido, o kernel envia um uevent para notificar o udev da mudança. O daemon udev lê e analisa todas as regras fornecidas dos arquivos /etc/udev/rules.d/*.rules uma vez na inicialização e mantém essas regras na memória. Se os arquivos de regras são mudados, adicionados ou removidos, o daemon pode recarregar a representação na memória de todas as regras com o comando udevadm control reload_rules. Isso também é feito ao executar /etc/init.d/boot.udev reload. Para obter mais detalhes sobre as regras do udev e sua sintaxe, consulte a Seção 13.6, “Influenciando o tratamento de evento de dispositivo de kernel com regras do udev”.

Cada evento recebido é comparado com o conjunto de regras fornecido. As regras podem adicionar ou modificar chaves de ambiente de eventos, solicitar um nome específico a ser criado pelo nó de dispositivo, adicionar symlinks apontando para o nó ou adicionar programas a serem executados após a criação do nó do dispositivo. Os uevents centrais do driver são recebidos de um soquete de netlink de kernel.