Varausongelma
Kuvan luomisen jälkeen jokainen uusi levy on personoitava - esimerkiksi isäntänimi, SSH-avaimet, konfigurointi tai backend-rekisteröinti.
Tämän tekeminen manuaalisesti kymmenille tai jopa sadoille Raspberry Pi Compute Module 5 (CM5) yksiköistä ei yksinkertaisesti ole käytännöllistä.
Tässä kohtaa rpi-sb-provisioner joustava ensimmäisen käynnistyksen automatisointikehys, joka on tarkoitettu Raspberry Pi laitteisiin.
Miten rpi-sb-provisioner Toimii
Ensimmäisen käynnistyksen yhteydessä järjestelmä käynnistää automaattisesti seuraavat toiminnot rpi-sb-provisioner, joka:
- lukee käyttöönoton konfigurointitiedoston
- Suorittaa skriptejä järjestelmäasetusten soveltamiseksi.
- Kirjoittaa laitteen tunnistetiedot (sarjanumerot, tunnistetiedot, varmenteet jne.).
- merkitsee käyttöönottoprosessin päättyneeksi
Näin varmistetaan, että jokainen laite on yksilöllisesti konfiguroitu ja valmis käyttöönotettavaksi - ilman manuaalisia toimenpiteitä.
Asennus
Seuraa virallista asennusohjetta osoitteessa: https://github.com/raspberrypi/rpi-sb-provisioner
Konfigurointi
rpi-sb-provisioner sisältää yksinkertaisen selainpohjaisen konfigurointikäyttöliittymän.
Avaa se suorittamalla terminaalissa seuraava komento:
xdg-open http://localhost:3142Täältä:
- Avaa Kuvat-valikko ja lataa .img-tiedosto (luotu käyttämällä komentoa rpi-image-gen).
- Avaa Options (Asetukset) -valikko määrittääksesi provisioinnin parametrit, kuten kohdelaiteryhmän tai käytettävän peruskuvan.
- Tuloksena oleva kokoonpano tallennetaan /etc/rpi-sb-provisioner/config ja se voi näyttää tältä:
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=Käyttö
- Esimerkiksi käytettäessä virallista Raspberry Pi Compute Module 5, aseta J2-jumpperi niin, ettei eMMC-käynnistys ole käytössä.
- Kytke CM5 provisiointi-isäntään USB:n kautta. Käyttöönottoprosessi käynnistyy automaattisesti.
- Kun provisiointi on valmis, poista jumpperi ja liitä virtalähde - laite käynnistyy nyt eMMC:ltä.
Edut
- Täysin automatisoitu laitteiden käyttöönotto
- Yhtenäinen konfigurointi kaikissa yksiköissä
- Helppo integrointi valmistusjärjestelmiin tai taustakäyttöön tarkoitettuihin API-rajapintoihin.
- Toistettavissa - ei manuaalisia virityksiä tai epäjohdonmukaisuuksia laitteiden välillä.
Prosessin laajentaminen
Käyttöönoton työnkulkua voidaan laajentaa siten, että se sisältää:
- API-kutsut laitteiden rekisteröimiseksi taustapalveluihin
- varmenteen luominen turvallista käynnistystä tai salausta varten
- laitteiston validointi tai toiminnalliset testit ennen aktivointia
osoitteessa rpi-sb-provisionerkäyttöönotosta tulee integroitu vaihe rakennus- ja käyttöönottoputkessa - ei jälkikäteinen ajatus.
Tämän sarjan artikkelit
- Building a Production-Ready Linux for Raspberry Pi Compute Module 5
- Stock OS:stä tuotantoalustaksi
- Customizing Raspberry Pi OS with rpi-image-gen
- Järjestelmän kestävyys - A/B-juuritiedostojärjestelmän asettelun suunnittelu
- Käyttöönotto - Ensimmäisen käynnistyksen automatisointi rpi-sb-provisioner
- OTA and Lifecycle — Software Updates with SWUpdate
Lähteet
- 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