rpi-hwid apt repository

Debian packages built from mithro/rpi-hwid. Rolling release: every push publishes a new version.

A Raspberry Pi hardware identity probe (what a Pi wears on its header, what powers it, which network interfaces are soldered down, which FPGA board it hosts), a collector that runs it over ssh across a fleet, and a generator for print-ready labels. Install python3-rpi-hwid, which also provides the rpi-hwid command. The package is architecture all (pure Python), so it installs on any Raspberry Pi OS or Debian machine; Raspberry Pi OS follows Debian's codenames.

python3-spiflash, the SPI flash part database the label generator names flash chips from, is here too: it is not in Debian, so each publish copies it from spiflash's own repository, verified against that repository's signature and signed with this repository's key, and python3-rpi-hwid installs from this repository alone.

Packages

PackageVersionArchSuiteFrom
python3-rpi-hwid0.0.post607~deb12allbookworm
python3-spiflash0.0.post251~deb12allbookwormbundled from mithro/spiflash
python3-rpi-hwid0.0.post607~deb13alltrixie
python3-spiflash0.0.post251~deb13alltrixiebundled from mithro/spiflash
python3-rpi-hwid0.0.post607~deb14allforky
python3-spiflash0.0.post251~deb14allforkybundled from mithro/spiflash
python3-rpi-hwid0.0.post607allsid
python3-spiflash0.0.post251allsidbundled from mithro/spiflash

Packages marked with a repository are bundled: copied, after checking them against that repository's signed index, from a repository these packages depend on, and signed with this repository's key, so this repository is the only one to add.

Setup

Pick the suite matching your system (. /etc/os-release; echo $VERSION_CODENAME).

bookworm

sudo install -d -m0755 /etc/apt/keyrings
curl -fsSL https://mith.ro/rpi-hwid/rpi-hwid.gpg \
  | sudo tee /etc/apt/keyrings/rpi-hwid.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/rpi-hwid.gpg] https://mith.ro/rpi-hwid/bookworm/ ./" \
  | sudo tee /etc/apt/sources.list.d/rpi-hwid.list
sudo apt update

trixie

sudo install -d -m0755 /etc/apt/keyrings
curl -fsSL https://mith.ro/rpi-hwid/rpi-hwid.gpg \
  | sudo tee /etc/apt/keyrings/rpi-hwid.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/rpi-hwid.gpg] https://mith.ro/rpi-hwid/trixie/ ./" \
  | sudo tee /etc/apt/sources.list.d/rpi-hwid.list
sudo apt update

forky

sudo install -d -m0755 /etc/apt/keyrings
curl -fsSL https://mith.ro/rpi-hwid/rpi-hwid.gpg \
  | sudo tee /etc/apt/keyrings/rpi-hwid.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/rpi-hwid.gpg] https://mith.ro/rpi-hwid/forky/ ./" \
  | sudo tee /etc/apt/sources.list.d/rpi-hwid.list
sudo apt update

sid

sudo install -d -m0755 /etc/apt/keyrings
curl -fsSL https://mith.ro/rpi-hwid/rpi-hwid.gpg \
  | sudo tee /etc/apt/keyrings/rpi-hwid.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/rpi-hwid.gpg] https://mith.ro/rpi-hwid/sid/ ./" \
  | sudo tee /etc/apt/sources.list.d/rpi-hwid.list
sudo apt update

Signing key fingerprint: 9C51CAE0CF1C4C08A63C8A6A2599D5E0285B902F

Signed with the repository's own key. apt reads a keyring's format from its file extension, so the key is published in both encodings: rpi-hwid.gpg is the binary keyring and rpi-hwid.asc the ASCII-armoured one. The commands above use the binary form. To use the armoured key instead, download rpi-hwid.asc and give signed-by= a path ending in .asc to match — apt ignores a keyring whose extension disagrees with its contents.

Each suite is a separate flat repository, so the same version can ship for several Debian releases.