O kernel aloca um número principal: menor, seja estaticamente (em drivers que possuem uma alocação estática e não se esgotaram) ou dinamicamente (em drivers que suportam alocação dinâmica e usam sua quota estática). Este número está listado na mensagem que o kernel envia para o udev.
Você pode ver as variáveis que o udev vê sobre um dispositivo em /sys/devices/…/uevent
. Por exemplo:
$ cat /sys/devices/virtual/mem/null/uevent
MAJOR=1
MINOR=3
DEVNAME=null
DEVMODE=0666
$ cat /sys/block/sda/sda1/uevent
MAJOR=8
MINOR=1
DEVNAME=sda1
DEVTYPE=partition
As regras do udev determinam o (s) nome (s) e permissões dos arquivos do dispositivo. O número do dispositivo vem do kernel (é necessário, pois o kernel já tomou uma decisão e o trabalho do udev é garantir que os aplicativos que acessam o dispositivo pelo nome alcancem o número escolhido pelo kernel).