
Eu tenho um leitor de cartão SD e quero definir nomes de dispositivos de bloco para /dev/sdcard2 e suas partições serão nomeadas /dev/sdcard2p1 /dev/sdcard2p2 /dev/sdcard2p3 ... (com base na contagem de partições do cartão específico inserido no leitor)
Esta regra deve ser aplicada a qualquer cartão SD (com várias contagens de partições) inserido neste leitor de cartão SD específico (distinguido pelo número de série) e os dispositivos de bloco que apontam para o cartão SD inserido devem ter esses nomes.
O leitor de cartão SD possui este número de série ID_SERIAL_SHORT=20210500010790
Então, quero escrever a regra udev que definirá o nome do dispositivo de bloco conforme descrevi acima.
Eu tentei esta regra:
KERNEL=="sd*", ACTION=="add", ENV{ID_SERIAL_SHORT}=="20210500010790", SYMLINK+="sdcard2%n"
Mas não está funcionando, o que estou fazendo de errado?
Esta é a saída de udevadm monitor --environment --udev
:pasta
Atualização: encontrei alguma solução:
ACTION=="add", SUBSYSTEM=="block", ATTRS{serial}=="20210500010790", ENV{DEVTYPE}=="disk", SYMLINK+="sdcard2"
ACTION=="add", SUBSYSTEM=="block", ATTRS{serial}=="20210500010790", ENV{DEVTYPE}=="partition", SYMLINK+="sdcard2p%n"
Funciona com ATTRS, mas não funciona com ENV, mas por quê?