Services on a Pi host¶
You operate the fleet and want to know which systemd units run on every welland Pi, to understand or
change one. This is the root fpgas.online-infra builds (main, read 2026-10-07: the
roles onpi, cam_pi and fixpi), which welland’s Pis boot; ps1’s blades boot another root (The ps1
gateway and switch). What is installed is on What runs on a Pi host.
The units the root enables¶
Unit |
Enabled by |
What it does |
On which Pi |
|---|---|---|---|
|
|
The boot check of the Pi’s FPGA board; publishes its result to the site (fpgas-verify) |
every Pi |
|
|
The camera stream (Camera); stays stopped when the Pi has no camera |
every Pi |
|
|
The Tiny Tapeout daemon, |
a site that runs the Tiny Tapeout site ( |
|
|
Report the Pi and its boot stages to the site’s server; inert until the site writes |
every Pi, once the site writes that file |
|
the |
Reboot the Pi after a root update (Updating the NFS root) |
every Pi |
|
|
Writes the Pi’s DHCP name into |
every Pi |
|
|
Remote login |
every Pi |
|
|
Time from the gateway: the server comes from the DHCP ntp-server option, through systemd-networkd, and the drop-in names the gateway as |
every Pi |
|
|
Manage the interface that carries the NFS root: keep the kernel’s address, renew the DHCP lease, set the port’s IPv6 address and route (The network after boot) |
every Pi |
|
the Debian package; |
Runs |
every Pi, once the site writes |
|
|
Every minute, sends the |
every Pi, once the site writes |
|
the Debian package; |
TFTP on the Pi |
every Pi |
|
the Debian package |
Names the Pi to its switch over LLDP |
every Pi |
fixpi also masks the first-boot wizard (userconfig.service), which would block the boot because it cannot
see /boot/firmware, and the root-resize and swap services, which make no sense on a read-only NFS root.
The units get into the root through the include chain of roles/onpi/tasks/main.yml: apt.yml, the
fpgas-online-setup-pi install, nonfs.yml, tt.yml, fleet.yml, tftpd.yml, tweeks.yml, litepcie.yml
(only when onpi_litepcie_modules), fpga_verify.yml, stale_root.yml (read 2026-10-07). The site owns the
root’s authorized_keys and the image carries none, so there is no key task.
The units shipped by fpgas-online-setup-pi, and why the pistat and Arty units do not run, are on Units shipped by
fpgas-online-setup-pi; how to use the USB console is under When a Pi does not
boot.
What config.txt and cmdline.txt set: Boot-time configuration.