#!/bin/bash # install-services.sh — Deploy systemd services to board set -euo pipefail REPO="/home/arduino/uno-q-audio-synth" SERVICES=(midi-bridge pd-synth-onboard led-matrix-viz) for svc in "${SERVICES[@]}"; do sudo cp "$REPO/system/$svc.service" /etc/systemd/system/ done # Fix UCM bug (must survive OS updates) FILE=/usr/share/alsa/ucm2/codecs/qcom-lpass/rx-macro/HeadphoneEnableSeq.conf if grep -q "RX HPH Mode" "$FILE" 2>/dev/null; then sudo sed -i '/RX HPH Mode/d' "$FILE" echo "[OK] UCM HeadphoneEnableSeq patched" fi sudo systemctl daemon-reload # Stop/mask old conflicting services sudo systemctl stop pd-synth pd-synth-auto pd-synth-i2s 2>/dev/null || true sudo systemctl disable pd-synth pd-synth-auto pd-synth-i2s 2>/dev/null || true sudo systemctl mask pd-synth pd-synth-auto pd-synth-i2s 2>/dev/null || true for svc in "${SERVICES[@]}"; do sudo systemctl enable "$svc" done echo "[OK] Services installed and enabled"