Installation
The agent installs with a single command. It detects your board, installs dependencies, configures systemd services, and starts everything automatically.Mission Control’s Flash Tool surfaces this install command automatically. See Install paths for the recommended flow per board class.
Quick install
SSH into your companion computer and run:The install script requires root access. It installs to
/opt/ados/, creates config at /etc/ados/, registers systemd services, and fetches the prebuilt Rust service binaries to /opt/ados/bin/. systemd is the supported process manager.What the install script does
1
Detect the board
Reads
/proc/device-tree/model and matches against the 17 built-in board profiles. Sets the tier and enables the right features for your hardware.2
Install system packages
Installs Python 3.11+, pip, virtualenv, and any board-specific packages (like the RTL8812EU DKMS driver for WFB-ng). Uses
apt on Debian/Ubuntu systems.3
Create the virtual environment
Sets up a Python venv at
/opt/ados/venv/ and installs the ados-drone-agent package from PyPI along with its dependencies (pymavlink, FastAPI, uvicorn, paho-mqtt, structlog, Rich, and more). The prebuilt Rust service binaries (supervisor, MAVLink router, control front, cloud relay, video, logging, and others) are fetched and placed in /opt/ados/bin/.4
Generate device identity
Creates a unique device ID at
/etc/ados/device-id using a chained fallback: Python uuid, OpenSSL random, or hostname-timestamp-pid. This ID is used for cloud pairing and mDNS.5
Write default config
Creates
/etc/ados/config.yaml with defaults tuned for your detected board. Serial port, baud rate, video resolution, and tier are all pre-filled.6
Install systemd services
Copies service unit files to
/etc/systemd/system/ and enables them. The supervisor service starts at boot and manages all child services.7
Start the agent
Runs
systemctl start ados-supervisor which brings up the full service tree: MAVLink proxy, REST API, video pipeline (if a camera is detected), cloud relay, health monitor, and everything else your tier supports.Install with pairing
If you have a pairing code from ADOS Mission Control, include it during install:Upgrade an existing installation
To upgrade to the latest version without losing your config:ados update, which re-runs the installer upgrade for you:
/etc/ados/config.yaml and your pairing state. See Updating the Agent for details.
Install from source
For contributors and developers who want to modify the agent code:Install on macOS (for development)
You can install the package on macOS for development and packaging checks. It will not have systemd, WFB-ng, or hardware GPIO, so hardware behavior must be verified on Linux hardware.Uninstall
On Linux (removes services, binary, and data, keeps config):Directory layout after install
Verifying the installation
After install, check that everything is running:ados shows the local setup webapp URL, service state, MAVLink state, video
state, network URLs, and remote access state. Open the setup URL in a browser to
finish onboarding.