Problém s poskytováním
Po sestavení bitové kopie je třeba každou novou desku personalizovat - například nastavením názvu hostitele, klíčů SSH, konfigurací nebo registrací backendu.
Pokud toto budete dělat ručně pro desítky nebo dokonce stovky Raspberry Pi Compute Module 5 (CM5) jednoduše není praktické.
Proto je třeba rpi-sb-provisioner přichází flexibilní rámec pro automatizaci prvního spuštění systému pro Raspberry Pi zařízení.
Jak rpi-sb-provisioner Funguje
Při prvním spuštění systém automaticky spustí rpi-sb-provisioner, který:
- načte konfigurační soubor provisioningu
- spustí skripty pro použití systémových nastavení
- zapisuje údaje o identitě zařízení (sériová čísla, pověření, certifikáty atd.).
- označí proces provisioningu za dokončený
Tím je zajištěno, že každé zařízení je jedinečně nakonfigurováno a připraveno k nasazení - bez ručního zásahu.
Instalace
Postupujte podle oficiálního průvodce instalací na adrese: https://github.com/raspberrypi/rpi-sb-provisioner
Konfigurace
rpi-sb-provisioner obsahuje jednoduché grafické rozhraní pro konfiguraci v prohlížeči.
Chcete-li jej otevřít, spusťte v terminálu následující příkaz:
xdg-open http://localhost:3142Odtud:
- Otevřete nabídku Obrázky a nahrajte svůj soubor .img (vytvořený pomocí příkazu rpi-image-gen).
- Otevřete nabídku Options (Možnosti) a nakonfigurujte parametry provisioningu, například rodinu cílových zařízení nebo základní obraz, který se má použít.
- Výsledná konfigurace se uloží do /etc/rpi-sb-provisioner/config a může vypadat následovně:
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=Použití
- Například při použití úředního Raspberry Pi Compute Module 5, nastavte propojku J2 tak, abyste zakázali zavádění eMMC.
- Připojte zařízení CM5 k hostitelskému zařízení pro provisioning prostřednictvím rozhraní USB. Proces provisioningu se spustí automaticky.
- Po dokončení provisioningu odstraňte jumper a připojte napájecí zdroj - zařízení nyní bude bootovat z eMMC.
Výhody
- Plně automatizovaný onboarding zařízení
- Konzistentní konfigurace ve všech jednotkách
- Snadná integrace s výrobními systémy nebo backendovými rozhraními API
- Reprodukovatelnost - žádné ruční úpravy nebo nesrovnalosti mezi zařízeními
Rozšíření procesu
Pracovní postup provisioningu lze rozšířit o:
- volání API pro registraci zařízení s backendovými službami
- generování certifikátů pro bezpečné spouštění nebo šifrování
- ověření hardwaru nebo funkční testy před aktivací
S rpi-sb-provisioner, se provisioning stává integrovaným krokem v sestavovacím a nasazovacím procesu - nikoliv dodatečným krokem.
Články v této sérii
- Building a Production-Ready Linux for Raspberry Pi Compute Module 5
- Ze skladového operačního systému na produkční platformu
- Customizing Raspberry Pi OS with rpi-image-gen
- Robustnost systému - Návrh rozložení kořenového souborového systému A/B
- Provisioning - Automatizace prvního spuštění systému pomocí rpi-sb-provisioner
- OTA and Lifecycle — Software Updates with SWUpdate
Zdroje
- 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