Leveringsproblemet
Når du har bygget dit image, skal hvert nyt board tilpasses - med indstillinger som værtsnavn, SSH-nøgler, konfiguration eller backend-registrering.
At gøre dette manuelt for dusinvis eller endda hundredvis af Raspberry Pi Compute Module 5 (CM5) enheder er simpelthen ikke praktisk.
Det er her rpi-sb-provisioner kommer ind i billedet - en fleksibel automatiseringsramme til første opstart af Raspberry Pi enheder.
Hvordan rpi-sb-provisioner Arbejder
Ved første opstart starter systemet automatisk rpi-sb-provisionersom:
- Læser en konfigurationsfil til klargøring
- Udfører scripts for at anvende systemindstillinger
- Skriver enhedens identitetsdata (serienumre, legitimationsoplysninger, certifikater osv.)
- Markerer provisioneringsprocessen som fuldført
Dette sikrer, at hver enhed er unikt konfigureret og klar til udrulning - uden manuel indgriben.
Installation
Følg den officielle installationsvejledning på: https://github.com/raspberrypi/rpi-sb-provisioner
Konfiguration
rpi-sb-provisioner indeholder en simpel browserbaseret konfigurations-GUI.
For at åbne den skal du køre følgende kommando i en terminal:
xdg-open http://localhost:3142Herfra:
- Åbn menuen Billeder, og upload din .img-fil (oprettet ved hjælp af rpi-image-gen).
- Åbn menuen Indstillinger for at konfigurere provisioneringsparametre, f.eks. målenhedsfamilien eller det basisbillede, der skal bruges.
- Den resulterende konfiguration gemmes i /etc/rpi-sb-provisioner/config og kan se sådan ud:
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=Anvendelse
- Når du f.eks. bruger en officiel Raspberry Pi Compute Module 5sæt J2-jumperen til at deaktivere eMMC-boot.
- Tilslut CM5 til provisioneringsværten via USB. Provisioneringsprocessen starter automatisk.
- Når provisioneringen er færdig, skal du fjerne jumperen og tilslutte en strømforsyning - enheden vil nu starte fra eMMC.
Fordele
- Fuldt automatiseret onboarding af enheder
- Ensartet konfiguration på tværs af alle enheder
- Nem integration med produktionssystemer eller backend-API'er
- Reproducerbar - ingen manuelle justeringer eller uoverensstemmelser mellem enhederne
Udvidelse af processen
Arbejdsgangen for klargøring kan udvides til at omfatte:
- API-kald til at registrere enheder med backend-tjenester
- Generering af certifikater til sikker opstart eller kryptering
- Hardware-validering eller funktionelle tests før aktivering
Med rpi-sb-provisionerbliver provisionering et integreret trin i din build- og deployment-pipeline - ikke en eftertanke.
Artikler i denne serie
- Building a Production-Ready Linux for Raspberry Pi Compute Module 5
- Fra lager-OS til produktionsplatform
- Customizing Raspberry Pi OS with rpi-image-gen
- Systemrobusthed - Design af et A/B-rodfilsystemlayout
- Klargøring - Automatisering af første opstart 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