Ответ, похоже, "да, но". По крайней мере, в моем случае событие ACTION=="mount"
не срабатывает, когда моя уже подключенная SD-карта монтируется, но ACTION=="change"
срабатывает. Выполнив udevadm monitor -p
, я смог определить свойство (ID_FS_LABEL
, метка тома), чтобы заставить правило работать:
ENV{ID_FS_LABEL}="MyVolumeLabel",ACTION=="change",RUN+="/path/to/script.sh"
Но оказалось, что udev
не идеально подходит для запуска чего-либо, кроме коротких сценариев, потому что они блокируют его при завершении. Вместо этого я последовал совету, предложенному AnkurTank, и выбрал службу systemd
, которая работает хорошо.
Наиболее вероятным объяснением ошибки mount --move
с «Недопустимым аргументом» является то, что источник сам по себе не является точкой монтирования. Если ${rootmnt}
не является точкой монтирования, у вас есть два варианта :либо сделать ее правильно, либо сымитировать с помощью mount --bind "${rootmnt}" "${rootmnt}"
.