A mensagem uevent contém informações sobre o dispositivo ( exemplo ). Essas informações contêm identificação registrada de fornecedores e modelos para dispositivos conectados a barramentos, como PCI e USB. O Udev analisa esses eventos e constrói um nome de módulo de formato fixo que passa para modprobe
. modprobe
procura em /lib/modules/VERSION
para um arquivo chamado depmod.alias
, que é gerado quando o kernel é instalado e mapeia os nomes dos módulos de formato fixo para os nomes dos arquivos do módulo do driver. Veja Os módulos do driver são carregados e descarregados automaticamente? para mais detalhes sobre o processo - essa resposta descreve os dias anteriores em que o kernel chamava modprobe
diretamente, mas a maneira como modprobe
e aliases de módulo funcionam não mudou.
Veja também a apresentação de Michael Opdenacker, “Hotplugging with udev” , que tem mais exemplos e descreve outros aspectos do gerenciamento de dispositivos com o udev, e guia do Linux a partir do zero que tem uma seção sobre como o nomes de módulo de formulário são definidos.
modprobe
carrega um módulo chamando a init_module
chamada do sistema. Não interage com o sysfs de nenhuma maneira. Quando o módulo é carregado, o kernel cria uma entrada para ele em /sys/module
. Qualquer entrada que apareça em outro lugar no sysfs depende do código no módulo (por exemplo, um módulo com um driver para um tipo de dispositivo USB chamará algum código de suporte USB genérico que adicione uma entrada em /sys/bus/usb/drivers
).