Problém poskytovania
Po vytvorení obrazu je potrebné každú novú dosku personalizovať - napríklad nastavením názvu hostiteľa, kľúčov SSH, konfigurácie alebo registrácie backendu.
Ak to budete robiť ručne pre desiatky alebo dokonca stovky Raspberry Pi Compute Module 5 (CM5) jednoducho nie je praktické.
V tomto prípade rpi-sb-provisioner prichádza flexibilný rámec pre automatizáciu prvého spustenia systému pre Raspberry Pi zariadenia.
Ako rpi-sb-provisioner Funguje
Pri prvom spustení sa systém automaticky spustí rpi-sb-provisioner, ktorý:
- načíta konfiguračný súbor zabezpečenia
- vykoná skripty na použitie systémových nastavení
- zapisuje údaje o identite zariadenia (sériové čísla, poverenia, certifikáty atď.)
- označí proces provisioningu za ukončený
Tým sa zabezpečí, že každé zariadenie je jedinečne nakonfigurované a pripravené na nasadenie - bez manuálneho zásahu.
Inštalácia
Postupujte podľa oficiálneho sprievodcu inštaláciou na adrese: https://github.com/raspberrypi/rpi-sb-provisioner
Konfigurácia
rpi-sb-provisioner obsahuje jednoduché grafické rozhranie konfigurácie založené na prehliadači.
Ak ho chcete otvoriť, spustite v termináli nasledujúci príkaz:
xdg-open http://localhost:3142Odtiaľto:
- Otvorte ponuku Obrázky a nahrajte súbor .img (vytvorený pomocou rpi-image-gen).
- Otvorte ponuku Options (Možnosti) a nakonfigurujte parametre provisioningu, napríklad rodinu cieľových zariadení alebo základný obraz, ktorý sa má použiť.
- Výsledná konfigurácia sa uloží do /etc/rpi-sb-provisioner/config a môže vyzerať takto:
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žívanie
- Napríklad pri používaní úradného Raspberry Pi Compute Module 5, nastavte prepojku J2 tak, aby ste zakázali zavádzanie eMMC.
- Pripojte zariadenie CM5 k hostiteľskému zariadeniu na vytváranie rezerv prostredníctvom USB. Proces provisioningu sa spustí automaticky.
- Po dokončení provisioningu odstráňte prepojku a pripojte napájanie - zariadenie sa teraz bude spúšťať z eMMC.
Výhody
- Plne automatizovaný onboarding zariadení
- Konzistentná konfigurácia vo všetkých jednotkách
- Jednoduchá integrácia s výrobnými systémami alebo backendovými API
- Reprodukovateľnosť - žiadne manuálne úpravy alebo nezrovnalosti medzi zariadeniami
Rozšírenie procesu
Pracovný postup zabezpečovania je možné rozšíriť o:
- volania API na registráciu zariadení s backendovými službami
- generovanie certifikátov na bezpečné spustenie alebo šifrovanie
- overenie hardvéru alebo funkčné testy pred aktiváciou
S rpi-sb-provisioner, sa provisioning stáva integrovaným krokom v procese zostavovania a nasadzovania - nie dodatočným krokom.
Články v tejto sérii
- Building a Production-Ready Linux for Raspberry Pi Compute Module 5
- Zo skladového operačného systému na výrobnú platformu
- Customizing Raspberry Pi OS with rpi-image-gen
- Robustnosť systému - Návrh rozloženia koreňového súborového systému A/B
- Provisioning - Automatizácia prvého spustenia systému pomocou 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