Leveringsproblemet
Etter at du har bygget opp imaget ditt, må hvert nye kort tilpasses - med innstillinger som vertsnavn, SSH-nøkler, konfigurasjon eller backend-registrering.
Å gjøre dette manuelt for dusinvis eller hundrevis av Raspberry Pi Compute Module 5 (CM5) enheter er rett og slett ikke praktisk.
Det er her rpi-sb-provisioner kommer inn i bildet - et fleksibelt rammeverk for automatisering av første oppstart for Raspberry Pi enheter.
Hvordan rpi-sb-provisioner fungerer
Ved første oppstart starter systemet automatisk rpi-sb-provisioner, som
- leser en konfigurasjonsfil for klargjøring
- Kjører skript for å bruke systeminnstillinger
- Skriver enhetsidentitetsdata (serienumre, legitimasjon, sertifikater osv.)
- Markerer klargjøringsprosessen som fullført
Dette sikrer at hver enhet er unikt konfigurert og klar for distribusjon - uten manuell inngripen.
Installasjon
Følg den offisielle installasjonsveiledningen på : https://github.com/raspberrypi/rpi-sb-provisioner
Konfigurasjon
rpi-sb-provisioner inkluderer et enkelt nettleserbasert konfigurasjons-GUI.
Du åpner den ved å kjøre følgende kommando i en terminal:
xdg-open http://localhost:3142Herfra
- Åpne Images-menyen og last opp .img-filen din (opprettet ved hjelp av rpi-image-gen).
- Åpne menyen Options for å konfigurere klargjøringsparametere, for eksempel målenhetsfamilien eller basisbildet som skal brukes.
- Den resulterende konfigurasjonen lagres i /etc/rpi-sb-provisioner/config og kan se slik ut:
CUSTOMER_KEY_FILE_PEM=
CUSTOMER_KEY_PKCS11_NAME=
GOLD_MASTER_OS_FILE=/srv/rpi-sb-provisioner/images/deb12-arm64-ix-base.img
PROVISIONING_STYLE=naked
RPI_DEVICE_BOOTLOADER_CONFIG_FILE=/srv/rpi-sb-provisioner/bootloader_config_files/bootloader-gpio17.naked
RPI_DEVICE_EEPROM_WP_SET=
RPI_DEVICE_FAMILY=5
RPI_DEVICE_FIRMWARE_FILE=/lib/firmware/raspberrypi/bootloader-2712/latest/pieeprom-2025-10-17.bin
RPI_DEVICE_LOCK_JTAG=
RPI_DEVICE_RETRIEVE_KEYPAIR=
RPI_DEVICE_STORAGE_CIPHER=aes-xts-plain64
RPI_DEVICE_STORAGE_TYPE=emmc
RPI_SB_PROVISIONER_MANUFACTURING_DB=/srv/rpi-sb-provisioner/manufacturing.db
RPI_SB_WORKDIR=Bruk
- Når du for eksempel bruker en offisiell Raspberry Pi Compute Module 5J2 til å deaktivere eMMC-oppstart.
- Koble CM5 til klargjøringsverten via USB. Klargjøringsprosessen starter automatisk.
- Når klargjøringen er fullført, fjerner du jumperen og kobler til strømforsyningen - enheten starter nå opp fra eMMC.
Fordeler
- Helautomatisk onboarding av enheter
- Konsekvent konfigurasjon på tvers av alle enheter
- Enkel integrering med produksjonssystemer eller backend-API-er
- Reproduserbar - ingen manuelle justeringer eller uoverensstemmelser mellom enheter
Utvidelse av prosessen
Arbeidsflyten for klargjøring kan utvides til å omfatte:
- API-kall for å registrere enheter med backendtjenester
- Generering av sertifikater for sikker oppstart eller kryptering
- Maskinvarevalidering eller funksjonstester før aktivering
Med rpi-sb-provisionerblir klargjøring et integrert trinn i bygge- og distribusjonsprosessen - ikke en ettertanke.
Artikler i denne serien
- Building a Production-Ready Linux for Raspberry Pi Compute Module 5
- Fra lagerbasert operativsystem til produksjonsplattform
- Customizing Raspberry Pi OS with rpi-image-gen
- Systemrobusthet - Utforming av et A/B-rotfilsystemlayout
- Klargjøring - Automatisering av første oppstart med rpi-sb-provisioner
- OTA and Lifecycle — Software Updates with SWUpdate
Kilder
- rpi-image-gen: https://github.com/raspberrypi/rpi-image-gen
- rpi-sb-provisioner: https://github.com/raspberrypi/rpi-sb-provisioner
- SWUpdate: https://github.com/sbabic/swupdate
- swugenerator: https://github.com/sbabic/swugenerator