#!/bin/bash # Mount SD card by UUID and start dashcam transfer. # Called by udev rule 99-dashcam-trigger.rules via systemd-run. # systemd-run is used (not direct udev exec) because udev context # lacks mount/umount permissions on Fedora with SELinux enforcing. UUID=/dev/disk/by-uuid/00D3-7715 logger -t dashcam-transfer Trigger: SD card detected for ((i=0; i<60; i++)); do if [ -e "$UUID" ]; then logger -t dashcam-transfer Trigger: device ready after ${i}s break fi sleep 1 done while mountpoint -q /mnt/sdcard 2>/dev/null; do umount /mnt/sdcard 2>/dev/null || break done mount "$UUID" /mnt/sdcard -o uid=1000,gid=1000,fmask=0000,dmask=0000 2>/dev/null if [ $? -eq 0 ]; then logger -t dashcam-transfer Trigger: mounted, starting transfer systemctl start dashcam-transfer else logger -t dashcam-transfer TRIGGER ERROR: mount failed fi