Repository navigation
Life node v1 golden image (2026-10-07)
The golden image for Life node v1: Raspberry Pi OS Lite 64-bit with BirdNET-Go and Perch v2 (audio clip saving off), the node agents, the Witty Pi 4 daemon and the schedules. Read-only root, writable /data partition that grows to the card at the first boot. Nothing per-node is inside: put life-node.env on the boot partition after flashing (the example is there), or get an image made for your box at https://life.oncra.org/box.
This replaces the image of 29 September, which did not boot on a Raspberry Pi. Tested on node 1 on 8 October 2026: the first boot comes up on the right time, the microphone is heard and detections reach the oracle, and a shutdown ends with the Witty Pi cutting power (0.0 W on the meter).
Fixed since the first image:
- It boots: the card keeps the disk identifier that
cmdline.txtandfstabname. - WiFi comes up from
WIFI_SSIDandWIFI_PSKin the env file; trailing comments in the env file no longer end up in the values. - BirdNET-Go listens to the I2S microphone (
:0,0), andlife-pushreads the current BirdNET-Go database, so detections and the heartbeat reach the oracle. - Witty Pi 4: UART0 on GPIO-14 and wiringPi for its daemon, so the board sees the Pi shut down and cuts power; the board is set to switch the Pi on as soon as power arrives; the daemon and the schedule run only when the board sits in the supply path.
- The clock is synced and written to the Witty Pi before any schedule is computed; with no trustworthy clock the node stays on and tries again.
- The summer schedule follows the sun at the place of the node (8 h from civil dawn, 2 h from sunset).
Use:
- Flash:
xz -dc life-node-v1.img.xz | sudo dd of=/dev/<card> bs=4M status=progress conv=fsync(Linux) or... of=/dev/rdiskN bs=4m(macOS). 9 GiB written, any card of 16 GB or more. - Login on the bench: user
life, passwordlifebox, atssh life@<NODE_HOSTNAME>.local. SetNODE_PASSWORDorNODE_SSH_KEYinlife-node.envbefore the node leaves the desk; a key has spaces, so it goes in single quotes. Both are applied at every boot. - Verify:
sha256sum -c life-node-v1.img.xz.sha256. - How it was built:
node/image/build.shat this commit. The step-by-step is https://life.oncra.org/lifebox.