Skip to main content

Problemet med provisionering

När du har byggt din image måste varje nytt kort anpassas - med inställningar som värdnamn, SSH-nycklar, konfiguration eller backend-registrering.
Att göra detta manuellt för dussintals eller till och med hundratals Raspberry Pi Compute Module 5 (CM5)-enheter är helt enkelt inte praktiskt möjligt.

Det är där rpi-sb-provisioner kommer in i bilden - ett flexibelt ramverk för automatisering av första starten för Raspberry Pi enheter.

Hur rpi-sb-provisioner fungerar

Vid den första uppstarten startar systemet automatiskt rpi-sb-provisioner, som:

  • Läser en konfigurationsfil för provisionering
  • Exekverar skript för att tillämpa systeminställningar
  • Skriver data om enhetens identitet (serienummer, autentiseringsuppgifter, certifikat etc.)
  • Markerar provisioneringsprocessen som slutförd

Detta säkerställer att varje enhet är unikt konfigurerad och redo för driftsättning - utan manuell inblandning.

Installation

Följ den officiella installationsguiden på: https://github.com/raspberrypi/rpi-sb-provisioner

Konfiguration

rpi-sb-provisioner innehåller ett enkelt webbläsarbaserat konfigurationsgränssnitt.
För att öppna det kör du följande kommando i en terminal:

xdg-open http://localhost:3142

Från här:

  1. Öppna menyn Bilder och ladda upp din .img-fil (skapad med hjälp av rpi-image-gen).
  2. Öppna menyn Options för att konfigurera provisioneringsparametrar, t.ex. målenhetsfamiljen eller den basavbildning som ska användas.
  3. Den resulterande konfigurationen lagras i /etc/rpi-sb-provisioner/config och kan se ut så här:
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=

Användning

  1. Om du t.ex. använder en officiell Raspberry Pi Compute Module 5ställa in bygeln J2 för att inaktivera eMMC-start.
  2. Anslut CM5 till provisioneringsvärden via USB. Provisioneringsprocessen startar automatiskt.
  3. När provisioneringen är klar tar du bort bygeln och ansluter strömförsörjningen - enheten startar nu från eMMC.

Jumperinställning för rpi-sb-provisioner

Fördelar

  • Helt automatiserad onboarding av enheter
  • Konsekvent konfiguration för alla enheter
  • Enkel integrering med tillverkningssystem eller backend-API:er
  • Reproducerbar - inga manuella justeringar eller inkonsekvenser mellan enheter

Förlängning av processen

Arbetsflödet för provisionering kan utökas till att omfatta:

  • API-anrop för att registrera enheter med backendtjänster
  • Generering av certifikat för säker uppstart eller kryptering
  • Validering av hårdvara eller funktionstester före aktivering

Med rpi-sb-provisionerblir provisionering ett integrerat steg i din bygg- och driftsättningspipeline - inte en eftertanke.