Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ jobs:
runs-on: ubuntu-24.04-arm # native arm64 container
steps:
- uses: actions/checkout@v4
- name: Run customize.sh in an arm64 Bookworm container and assert
- name: Run customize.sh in an arm64 Trixie container and assert
run: |
docker run --rm -v "$PWD:/src" \
arm64v8/debian:bookworm bash -euo pipefail -c '
arm64v8/debian:trixie bash -euo pipefail -c '
apt-get update
apt-get install -y --no-install-recommends curl ca-certificates iproute2 procps dbus
mkdir -p /boot/firmware && : > /boot/firmware/config.txt
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ dependencies and installs them with `uv`.

## What the image bakes in

- **OS**: Raspberry Pi OS Bookworm 64-bit (arm64), Desktop
- **OS**: Raspberry Pi OS Trixie 64-bit (arm64), Desktop
- **Hardware**: I2C, SPI, and UART enabled. `dtoverlay=disable-bt` so
`/dev/serial0` is the PL011 UART for the SlushEngine / DPi bus. `i2c-dev` loaded.
- **Networking (`eth0`)**: DHCP for internet, plus an always-on static
Expand Down Expand Up @@ -50,7 +50,7 @@ a specific Raspberry Pi OS release for reproducibility.

### In CI, on every PR (`.github/workflows/validate.yml`)

Runs `shellcheck`, then runs `customize.sh` inside an arm64 Bookworm container
Runs `shellcheck`, then runs `customize.sh` inside an arm64 Trixie container
and asserts what can be checked without hardware: `uv` present, the 5358 avahi
`.deb` installed, the I2C/SPI/UART lines written, and the eth0 NetworkManager
profile present. This gates merges to `main`.
Expand Down
2 changes: 1 addition & 1 deletion build-image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ WORK="${WORK:-$HERE/.build}"

# Stock Raspberry Pi OS (arm64, desktop). PIN a dated release for reproducibility;
# check https://downloads.raspberrypi.com/raspios_arm64/images/ for the current one.
BASE_URL="${BASE_URL:-https://downloads.raspberrypi.com/raspios_arm64/images/raspios_arm64-2025-05-13/2025-05-13-raspios-bookworm-arm64.img.xz}"
BASE_URL="${BASE_URL:-https://downloads.raspberrypi.com/raspios_arm64/images/raspios_arm64-2026-06-19/2026-06-18-raspios-trixie-arm64.img.xz}"
GROW_MB="${GROW_MB:-2048}" # headroom for our added packages
OUT_IMG="$WORK/dpea-pi-$(date +%Y%m%d).img"

Expand Down
4 changes: 2 additions & 2 deletions lib/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Sourced by provision.sh to configure a running Pi. The image bakes the same
# choices at build time via customize.sh.
#
# Target: Raspberry Pi OS Bookworm, 64-bit (aarch64).
# Target: Raspberry Pi OS Trixie, 64-bit (aarch64).
#
# Layering rule:
# apt / packages.txt -> NON-Python OS libraries only (SDL2, i2c-tools, ...).
Expand Down Expand Up @@ -31,7 +31,7 @@ dpea_install_packages() {

dpea_enable_interfaces() {
# I2C, SPI, and the serial *hardware* (not the login console). Needs a recent
# raspi-config (ships on Bookworm). In a build chroot, edit config.txt directly.
# raspi-config (ships on Raspberry Pi OS). In a build chroot, edit config.txt directly.
raspi-config nonint do_i2c 0
raspi-config nonint do_spi 0
raspi-config nonint do_serial_hw 0
Expand Down
2 changes: 1 addition & 1 deletion provision.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Provision a running DPEA Raspberry Pi from stock Raspberry Pi OS 64-bit (Bookworm).
# Provision a running DPEA Raspberry Pi from stock Raspberry Pi OS 64-bit (Trixie).
# Idempotent: safe to re-run. Run with sudo.
#
# sudo ./provision.sh [--hostname arnav-pi]
Expand Down
Loading