diff --git a/boxd/internal/daemon/thermals.go b/boxd/internal/daemon/thermals.go index fd1461e..4d2b300 100644 --- a/boxd/internal/daemon/thermals.go +++ b/boxd/internal/daemon/thermals.go @@ -14,7 +14,7 @@ import ( // flags, sampled once a minute into the journal (one line per sample, so // `journalctl -u boxd` doubles as a temperature log) and reported through // /v1/info for the room's Screens list (stage 4). vcgencmd is the -// Raspberry Pi firmware tool (libraspberrypi-bin); where it is missing — +// Raspberry Pi firmware tool (raspi-utils-core); where it is missing — // a dev machine, a test — thermals simply go unreported and everything // downstream tolerates their absence. const thermalsEvery = time.Minute diff --git a/docs/adr/0008-watchdogs-and-self-healing.md b/docs/adr/0008-watchdogs-and-self-healing.md index c2236b7..3eaf1eb 100644 --- a/docs/adr/0008-watchdogs-and-self-healing.md +++ b/docs/adr/0008-watchdogs-and-self-healing.md @@ -71,7 +71,7 @@ procedure in docs/testing.md. ### 3. Thermals: sample, log, report boxd runs `vcgencmd measure_temp` and `vcgencmd get_throttled` -(`libraspberrypi-bin`, installed with this stage) once a minute, logs +(`raspi-utils-core`, installed with this stage) once a minute, logs one journal line per sample (`journalctl -u boxd` doubles as a temperature log, and journald is persistent on /data), and reports the latest values in `GET /v1/info` — `temperatureC`, `throttled`, diff --git a/scripts/smoke-test.sh b/scripts/smoke-test.sh index 80f6e42..759fcd4 100755 --- a/scripts/smoke-test.sh +++ b/scripts/smoke-test.sh @@ -99,7 +99,7 @@ fi # --- packages --------------------------------------------------------------- for pkg in cage chromium fonts-noto-color-emoji libgl1-mesa-dri cloud-init avahi-daemon \ pipewire pipewire-bin pipewire-alsa pipewire-pulse wireplumber pulseaudio-utils alsa-utils \ - libraspberrypi-bin systemd-timesyncd v4l-utils; do + raspi-utils-core systemd-timesyncd v4l-utils; do if sudo awk -v p="${pkg}" ' $0 == "Package: " p { inpkg = 1 } inpkg && /^Status: / { @@ -374,7 +374,9 @@ USER_UNITS="var/lib/syncphony-box/.config/systemd/user" for unit in default.target.wants/pipewire.service default.target.wants/wireplumber.service \ default.target.wants/pipewire-pulse.service sockets.target.wants/pipewire.socket \ sockets.target.wants/pipewire-pulse.socket; do - if sudo test -e "${WORK}/root/${USER_UNITS}/${unit}" && + # -L, not -e: the links are absolute, so -e would follow them on the + # build host rather than inside the image. The target is checked below. + if sudo test -L "${WORK}/root/${USER_UNITS}/${unit}" && sudo test -e "${WORK}/root/usr/lib/systemd/user/${unit##*/}"; then check "kiosk user unit ${unit##*/} enabled" ok else diff --git a/stage-syncphony/06-readonly-root/00-run.sh b/stage-syncphony/06-readonly-root/00-run.sh old mode 100644 new mode 100755 diff --git a/stage-syncphony/07-watchdog/00-packages b/stage-syncphony/07-watchdog/00-packages index a97c6e9..b129171 100644 --- a/stage-syncphony/07-watchdog/00-packages +++ b/stage-syncphony/07-watchdog/00-packages @@ -1,6 +1,6 @@ -# Watchdogs and self-healing (MAD-806): vcgencmd (libraspberrypi-bin) is +# Watchdogs and self-healing (MAD-806): vcgencmd (raspi-utils-core) is # what boxd samples every minute for the temperature and throttling log, # and systemd-timesyncd gives the box a sane clock before the kiosk starts # (a Pi has no RTC battery by default). -libraspberrypi-bin +raspi-utils-core systemd-timesyncd diff --git a/stage-syncphony/07-watchdog/00-run.sh b/stage-syncphony/07-watchdog/00-run.sh old mode 100644 new mode 100755 diff --git a/stage-syncphony/08-cec/00-run.sh b/stage-syncphony/08-cec/00-run.sh old mode 100644 new mode 100755