Het provisioneringsprobleem
Na het bouwen van uw image, moet elk nieuw bord gepersonaliseerd worden - met instellingen zoals hostnaam, SSH-sleutels, configuratie of backendregistratie.
Dit handmatig doen voor tientallen of zelfs honderden Raspberry Pi Compute Module 5 (CM5) units is gewoon niet praktisch.
Daar komt rpi-sb-provisioner komt - een flexibel first-boot automatiseringsraamwerk voor Raspberry Pi apparaten.
Hoe rpi-sb-provisioner Werkt
Bij de eerste keer opstarten start het systeem automatisch rpi-sb-provisionerdie:
- Een provisioning configuratiebestand leest
- scripts uitvoert om systeeminstellingen toe te passen
- Identiteitsgegevens van het apparaat wegschrijft (serienummers, referenties, certificaten, enz.)
- Het provisioningproces als voltooid markeert
Dit zorgt ervoor dat elk apparaat uniek geconfigureerd is en klaar is voor implementatie - zonder handmatige tussenkomst.
Installatie
Volg de officiële installatiegids op: https://github.com/raspberrypi/rpi-sb-provisioner
Configuratie
rpi-sb-provisioner bevat een eenvoudige browsergebaseerde configuratie-GUI.
Om deze te openen voert u het volgende commando in een terminal uit:
xdg-open http://localhost:3142Vanaf hier:
- Open het menu Afbeeldingen en upload uw .img-bestand (gemaakt met rpi-image-gen).
- Open het menu Opties om de provisioningparameters te configureren, zoals de doelapparaatfamilie of de te gebruiken basisimage.
- De resulterende configuratie wordt opgeslagen in /etc/rpi-sb-provisioner/config en kan er als volgt uitzien:
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=Gebruik
- Als u bijvoorbeeld een officiële Raspberry Pi Compute Module 5zet u de J2 jumper op eMMC boot uitschakelen.
- Sluit de CM5 via USB aan op de provisioning host. Het provisioningproces start automatisch.
- Zodra het provisioningproces is voltooid, verwijdert u de jumper en sluit u een voeding aan - het apparaat start nu op vanaf eMMC.
Voordelen
- Volledig geautomatiseerde onboarding van apparaten
- Consistente configuratie voor alle apparaten
- Eenvoudige integratie met productiesystemen of backend API's
- Reproduceerbaar - geen handmatige aanpassingen of inconsistenties tussen apparaten
Het proces uitbreiden
De provisioneringsworkflow kan worden uitgebreid met:
- API-oproepen om apparaten bij backendservices te registreren
- Certificaatgeneratie voor veilig opstarten of codering
- Hardwarevalidatie of functionele tests vóór activering
Met rpi-sb-provisionerwordt provisioning een geïntegreerde stap in uw build- en implementatiepijplijn - geen bijkomstigheid.
Artikelen in deze serie
- Building a Production-Ready Linux for Raspberry Pi Compute Module 5
- Van standaard besturingssysteem naar productieplatform
- Customizing Raspberry Pi OS with rpi-image-gen
- Robuustheid van het systeem - Een A/B-indeling van het rootbestandssysteem ontwerpen
- Provisioning - Eerste Boot automatiseren met rpi-sb-provisioner
- OTA and Lifecycle — Software Updates with SWUpdate
Bronnen
- 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