12.4. Inicialização e configuração do dispositivo inicial

Todos os eventos de dispositivo que ocorrerem durante o processo de inicialização antes da execução do daemon udev são perdidos, pois a infra-estrutura para tratar esses eventos está no sistema de arquivos raiz e não está disponível no momento. Para compensar essa perda, o kernel fornece um arquivo uevent para cada dispositivo no sistema de arquivos sysfs. Ao gravar add para esse arquivo, o kernel envia novamente o mesmo evento como o evento perdido durante a inicialização. Um loop simples em todos os arquivos uevent em /sys aciona todos os eventos novamente para criar os nós de dispositivo e executar a configuração do dispositivo.

Por exemplo, durante o boot, um mouse USB talvez não seja inicializado pela lógica de boot anterior, pois o driver não está disponível nesse momento. O evento para a descoberta do dispositivo foi perdido e não encontrou um módulo de kernel para o dispositivo. Em vez de você pesquisar manualmente por dispositivos possivelmente conectados, o udev solicita todos os eventos de dispositivo do kernel depois que o sistema de arquivos raiz está disponível. Assim, o evento do dispositivo do mouse USB é executado novamente. Então ele encontra o módulo de kernel no sistema de arquivos raiz montado e o mouse USB pode ser inicializado.

No espaço do usuário, não há diferença visível entre uma seqüência coldplug do dispositivo e uma detecção de dispositivo durante a execução. Em ambos os casos, as mesmas regras são usadas para correspondência e os mesmos programas configurados são executados.