Installation
For a copy-paste first install with verification after each step, start with the Quick Start. This page documents the installer shape, system package changes, and uninstall behavior in more detail.
Installation Shape
These are the intended Pi commands:
sudo apt update
sudo apt install -y python3-venv git
python3 -m venv ~/aero-pi-ogn-receiver-venv
~/aero-pi-ogn-receiver-venv/bin/pip install git+https://github.com/CaenFalaisePlaneurs/aero-pi-ogn-receiver.git
sudo /home/$(whoami)/aero-pi-ogn-receiver-venv/bin/python -m aero_pi_ogn_receiver.setup.setup
sudo nano /etc/aero-pi-ogn-receiver/config.yaml
sudo /home/$(whoami)/aero-pi-ogn-receiver-venv/bin/aero-pi-ogn config render --output /etc/aero-pi-ogn-receiver/rtlsdr-ogn.conf
sudo systemctl enable --now aero-pi-ogn-receiver.target
The setup command is a guarded system installer. When run with sudo on
Raspberry Pi OS, it can install Debian dependencies, create /etc and /opt
project paths, render the native OGN config, download the pinned OGN archive,
verify SHA-256/MD5, extract it, install systemd units, and reload systemd. It
does not start the receiver automatically.
Use --dry-run to preview setup or uninstall actions without changing the
machine.
Setup writes a short command sheet into the virtual environment:
~/aero-pi-ogn-receiver-venv/README-aero-pi-ogn-receiver.md. It contains the common
status, service, config, upgrade, and uninstall commands, and points back to
the full project documentation for maintenance,
troubleshooting, and less common tasks.
The package also exposes console entry points:
aero-pi-ogn
aero-pi-ogn-setup
aero-pi-ogn-uninstall
There is also a thin convenience script for source checkouts:
bash scripts/install.sh
The script creates ~/aero-pi-ogn-receiver-venv, installs the package into that
venv, and prints the explicit sudo setup/config commands. It does not replace
the privileged setup step.
OS Package Changes
The privileged setup command is not a pure file copy. On Raspberry Pi OS it runs
apt-get update and installs the Debian packages required by the receiver
runtime. It does not intentionally run a full system upgrade, but apt may still
upgrade already-installed packages when Debian dependency resolution requires a
newer matching version.
Current setup dependencies include:
rtl-sdr
ca-certificates
procserv
On 64-bit Raspberry Pi OS, binary_arch: "auto" currently selects the official
32-bit ARM OGN binary for runtime compatibility. In that case setup enables the
armhf foreign architecture if needed and installs the 32-bit runtime packages
required by the OGN binary:
libc6:armhf
libstdc++6:armhf
libgcc-s1:armhf
librtlsdr0:armhf
This can also pull closely related dependency updates such as systemd, udev,
or shared libraries if the local image package set is behind the current
repository metadata. For the most reproducible production install, start from an
up-to-date Raspberry Pi OS image and record the package changes from setup:
sudo /home/$(whoami)/aero-pi-ogn-receiver-venv/bin/python -m aero_pi_ogn_receiver.setup.setup --dry-run
sudo /home/$(whoami)/aero-pi-ogn-receiver-venv/bin/python -m aero_pi_ogn_receiver.setup.setup
grep " install \| upgrade " /var/log/apt/history.log
Setup writes /var/lib/aero-pi-ogn-receiver/install-state.json to record the
Debian packages and foreign architectures that were added by setup. The
uninstaller can use that file to remove project-added packages later. It cannot
safely roll back unrelated package upgrades that apt performed while resolving
dependencies.
Uninstall
To remove the receiver integration and binaries while preserving the user YAML
configuration at /etc/aero-pi-ogn-receiver/config.yaml:
sudo /home/$(whoami)/aero-pi-ogn-receiver-venv/bin/aero-pi-ogn-uninstall --complete
That removes systemd units, generated native config, /opt/aero-pi-ogn-receiver,
state/log directories, setup-installed Debian packages, and any foreign
architecture setup added when no packages still use it. Add --purge only when
you also want to remove the preserved /etc/aero-pi-ogn-receiver configuration.
The uninstaller prints the follow-up command for removing the user-owned Python virtual environment after it exits. With the recommended install path, that is:
rm -rf ~/aero-pi-ogn-receiver-venv
If git was installed only to fetch this project and is no longer needed on the
Pi, remove that prerequisite separately:
sudo apt purge -y git git-man liberror-perl
sudo apt autoremove -y