Files
IQ.Pilot/iqpilot/system/install_ble_transportd_service.sh
2026-09-01 20:15:16 -05:00

49 lines
1.8 KiB
Bash

#!/usr/bin/bash
set -e
SERVICE_FILE="/data/openpilot/iqpilot/system/ble-transportd.service"
SERVICE_NAME="ble-transportd.service"
SERVICE_OVERRIDE="/etc/systemd/system/${SERVICE_NAME}"
SERVICE_BAKED="/lib/systemd/system/${SERVICE_NAME}"
SERVICE_DROPIN="/run/systemd/system/${SERVICE_NAME}.d"
echo "Installing BLE transportd systemd service..."
if [ -f "$SERVICE_BAKED" ] && grep -q "/usr/libexec/iqpilot/iqpilot_bundle_runner" "$SERVICE_BAKED"; then
echo "Using IQ.OS baked ${SERVICE_NAME}; removing stale override if present..."
sudo mount -o remount,rw /
sudo rm -f "$SERVICE_OVERRIDE"
sudo systemctl daemon-reload
sudo mount -o remount,ro /
else
if [ ! -f "$SERVICE_FILE" ]; then
echo "ERROR: Service file not found at $SERVICE_FILE"
exit 1
fi
echo "IQ.OS baked unit unavailable; installing fallback override into /etc/systemd/system..."
sudo cp "$SERVICE_FILE" "$SERVICE_OVERRIDE"
sudo systemctl daemon-reload
fi
sudo mkdir -p "$SERVICE_DROPIN"
printf '%s\n' '[Service]' 'Environment="PYTHONPATH=/usr/libexec/iqpilot/python:/data/openpilot/.venv/lib/python3.12/site-packages:/data/openpilot"' | sudo tee "$SERVICE_DROPIN/iqpilot-packages.conf" >/dev/null
sudo systemctl daemon-reload
echo "Enabling $SERVICE_NAME to start at boot..."
sudo systemctl enable "$SERVICE_NAME"
echo "Starting $SERVICE_NAME..."
sudo systemctl restart "$SERVICE_NAME"
echo ""
echo "Service status:"
sudo systemctl status "$SERVICE_NAME" --no-pager
echo ""
echo "Useful commands:"
echo " sudo systemctl status ble-transportd - Check service status"
echo " sudo systemctl restart ble-transportd - Restart service"
echo " sudo systemctl stop ble-transportd - Stop service"
echo " sudo journalctl -u ble-transportd -f - View live logs"