feat: usb-automount feature — udev+systemd auto-mount of USB sticks, flag-gated like autostart
features/usb-automount.sh (installed via ./install.sh --feature, flag usb-automount) mounts every unmounted removable block device at /media/<label> — world-writable via -o umask=000 (fallback plain mount), label-collision bump -2/-3, no-label -> usb-<name>. First root run self-installs the hotplug udev rule (/etc/udev/rules.d/99-usb-automount.rules, SYSTEMD_WANTS=usb-automount.service) + udevadm reload/trigger; an existing rule is never overwritten. systemd/usb-automount.service (Type=oneshot, WantedBy=multi-user.target) covers boot + hotplug + manual start, gated in postinstall.sh's systemd loop exactly like autostart. Purpose: a plugged-in stick is ready for pos system backup's post-verify USB copy without manual mounting. Docs: SYSTEMD/SCRIPTS/README/AGENT_Context (tree, filetable — postinstall.sh count corrected 152->163, it was already stale). Verified: stub suite /tmp/opencode/usb-automount-test 47/47 green; make gen && make check.
This commit is contained in:
@@ -147,6 +147,11 @@ if [ -d systemd ] && [ -n "$(ls -A systemd/*.service 2>/dev/null)" ]; then
|
||||
warn "autostart feature not installed — skipping autostart.service (run ./install.sh --feature)"
|
||||
continue
|
||||
fi
|
||||
# usb-automount.service runs features/usb-automount.sh — same gating
|
||||
if [ "$svc_name" = "usb-automount.service" ] && ! flag_is_set usb-automount; then
|
||||
warn "usb-automount feature not installed — skipping usb-automount.service (run ./install.sh --feature)"
|
||||
continue
|
||||
fi
|
||||
run sudo systemctl enable --now "$svc_name" 2>/dev/null || \
|
||||
run sudo systemctl enable "$svc_name"
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user