Problem provisioninga
Nakon izrade imidža, svaka nova ploča mora biti personalizirana — s postavkama poput imena hosta, SSH tipki, konfiguracije ili registracije u pozadini.
Ručno raditi to za desetke ili čak stotine Raspberry Pi Compute Module 5 (CM5) jedinica jednostavno nije praktično.
Tu na scenu stupa rpi-sb-provisioner — fleksibilan okvir za automatizaciju prvog pokretanja za Raspberry Pi uređaje.
Kako rpi-sb-provisioner funkcionira
Pri prvom pokretanju sustav automatski pokreće rpi-sb-provisioner, što:
- Čita konfiguracijsku datoteku za provisioniranje
- Izvršava skripte za primjenu sistemskih postavki
- Zapisuje podatke o identitetu uređaja (serijski brojevi, vjerodajnice, certifikate itd.)
- Označava proces provisioninga kao dovršen
To osigurava da je svaki uređaj jedinstveno konfiguriran i spreman za implementaciju — bez ručne intervencije.
Ugradnja
Slijedite službeni vodič za instalaciju na: https://github.com/raspberrypi/rpi-sb-provisioner
Konfiguracija
rpi-sb-provisioner uključuje jednostavan konfiguracijski GUI temeljen na pregledniku.
Za otvaranje, pokrenite sljedeću naredbu u terminalu:
xdg-open http://localhost:3142Odavde:
- Otvorite izbornik Slike i učitajte svoju .img datoteku (kreiranu pomoću rpi-image-gen).
- Otvorite izbornik Opcije za konfiguraciju parametara provisioninga, poput ciljne obitelji uređaja ili osnovne slike za korištenje.
- Dobivena konfiguracija pohranjuje se u /etc/rpi-sb-provisioner/config i može izgledati ovako:
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=Upotreba
- Na primjer, pri korištenju službenog Raspberry Pi Compute Module 5, postavite J2 džamper da onemogući eMMC pokretanje.
- Spojite CM5 na provisioning host putem USB-a. Proces provisioninga će započeti automatski.
- Nakon što je provisioning završen, uklonite jumper i spojite napajanje — uređaj će se sada pokrenuti iz eMMC-a.
Prednosti
- Potpuno automatizirano uključivanje uređaja
- Dosljedna konfiguracija u svim jedinicama
- Jednostavna integracija s proizvodnim sustavima ili backend API-jima
- Reproducibilan — bez ručnih podešavanja ili nedosljednosti između uređaja
Proširenje procesa
Tijek rada provisioninga može se proširiti tako da uključuje:
- API pozive za registraciju uređaja s backend servisima
- Generiranje certifikata za sigurno pokretanje ili enkripciju
- Validacija hardvera ili funkcionalni testovi prije aktivacije
S rpi-sb-provisioner, provisioning postaje integrirani korak u vašem procesu izgradnje i implementacije — a ne naknadna misao.
Članci u ovoj seriji
- Izgradnja produkcijskog Linux za Raspberry Pi Compute Module 5
- Od standardnog OS-a do produkcijske platforme
- Prilagodba Raspberry Pi OS s rpi-image-gen
- Sistemska robusnost — Dizajniranje A/B root rasporeda datotečnog sustava
- Provisioning — Automatizacija prvog pokretanja s rpi-sb-provisioner
- OTA i životni ciklus — Softverska ažuriranja s SWUpdate
Izvori
- 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