Die voorsieningsprobleem
Nadat jy jou beeld gebou het, moet elke nuwe bord gepersonaliseer word — met instellings soos gasheernaam, SSH-sleutels, konfigurasie, of agterkantregistrasie.
Om dit handmatig te doen vir dosyne of selfs honderde Raspberry Pi Compute Module 5 (CM5) eenhede is eenvoudig nie prakties nie.
Dit is waar rpi-sb-provisioner inkom — 'n buigsame eerste-boot outomatiseringsraamwerk vir Raspberry Pi toestelle.
Hoe rpi-sb-provisioner werk
By die eerste opstart begin die stelsel outomaties rpi-sb-provisioner, wat:
- Lees 'n voorsieningskonfigurasielêer
- Voer skripte uit om stelselinstellings toe te pas
- Skryf toestelidentiteitsdata (serienommers, geloofsbrenge, sertifikate, ens.)
- Merk die voorsieningsproses as voltooi aan
Dit verseker dat elke toestel uniek gekonfigureer is en gereed is vir implementering — sonder handmatige ingryping.
Installasie
Volg die amptelike installasiegids by: https://github.com/raspberrypi/rpi-sb-provisioner
Konfigurasie
rpi-sb-provisioner sluit 'n eenvoudige blaaiergebaseerde konfigurasie-GUI in.
Om dit oop te maak, voer die volgende opdrag in 'n terminaal uit:
xdg-open http://localhost:3142Van hier af:
- Maak die Beelde-kieslys oop en laai jou .img-lêer op (geskep met rpi-image-gen).
- Maak die Opsies-kieslys oop om voorsieningsparameters te konfigureer, soos die teikentoestelfamilie of die basisbeeld om te gebruik.
- Die resulterende konfigurasie word in /etc/rpi-sb-provisioner/config gestoor en kan soos volg lyk:
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
- Byvoorbeeld, wanneer 'n amptelike Raspberry Pi Compute Module 5gebruik word, stel die J2-springer in om eMMC-opstart te deaktiveer.
- Koppel die CM5 aan die voorsieningsgasheer via USB. Die voorsieningsproses begin outomaties.
- Sodra voorsiening voltooi is, verwyder die jumper en koppel 'n kragtoevoer — die toestel sal nou van eMMC begin.
Voordele
- Volledig outomatiese toestel-aanboord
- Konsekwente konfigurasie oor alle eenhede
- Maklike integrasie met vervaardigingstelsels of agterkant-API's
- Herhaalbaar — geen handmatige aanpassings of inkonsekwenthede tussen toestelle nie
Uitbreiding van die Proses
Die voorsieningswerkvloei kan uitgebrei word om in te sluit:
- API-oproepe om toestelle met agterkantdienste te registreer
- Sertifikaatgenerering vir veilige opstart of enkripsie
- Hardeware-validering of funksionele toetse voor aktivering
Met rpi-sb-provisionerword voorsiening 'n geïntegreerde stap in jou bou- en ontplooiingspyplyn — nie 'n nagedagte nie.
Artikels in hierdie reeks
- Bou van 'n produksie-gereed Linux vir Raspberry Pi Compute Module 5
- Van Stock OS na Produksieplatform
- Aanpassing van Raspberry Pi OS met rpi-image-gen
- Stelselrobuustheid — Ontwerp van 'n A/B-wortellêerstelsel-uitleg
- Voorsiening — Outomatisering van eerste opstart met rpi-sb-provisioner
- OTA en Lewensiklus — Sagteware-opdaterings met SWUpdate
Bronne
- 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