49 lines
1.8 KiB
Bash
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"
|