Eu não sei especificamente sobre um arquivo init.d
, mas uma regra de udev
para executar um script em um dispositivo add pode ser semelhante:
ACTION=="add", ATTRS{idVendor}=="VID", ATTRS{idProduct}=="PID", RUN+="/path/to/executable"
Você deve investigar em udevadm
para saber mais sobre como o dispositivo é normalmente adicionado e seus módulos carregados. Você também encontrará os valores corretos para VID
e PID
.
Aceita uma combinação do dispositivo e do módulo do kernel?
Sim. Bem não. Talvez? A resposta a essa pergunta depende inteiramente do nível em que você intercepta o dispositivo. udev
tem que fazer muitas coisas desde o ponto em que inicialmente detecta um dispositivo até o ponto em que ele carregou e inicializou completamente o dispositivo e pode ser considerado para cima .
Algumas dessas coisas são prováveis:
-
detectando inicialmente o hardware em seu barramento / dispositivo / subsistema pai
-
encontrando e carregando o módulo do kernel apropriado
-
preenchendo o sistema de arquivos
/dev
devfs
com o arquivo especial de dispositivo apropriado -
detectando qualquer dispositivo filho que o dispositivo atual adicione e enxague, repita
Você pode especificar uma regra para todos ou alguns desses níveis de ação. Você também pode udevadm
trigger
ou monitor
ou várias outras coisas diretamente em tempo real para determinar exatamente quais podem ser esses níveis de ação.
Eu recomendo que você analise atentamente esta informação se quiser se familiarizar com ela.