Ang problema sa paglalaan
Pagkatapos mabuo ang iyong imahe, ang bawat bagong board ay dapat na isinapersonal - na may mga setting tulad ng hostname, SSH key, pagsasaayos, o pagrehistro ng backend.
Ang paggawa nito nang manu-mano para sa dose-dosenang o kahit daan-daang mga yunit ng Raspberry Pi Compute Module 5 (CM5) ay hindi praktikal.
Iyon ay kung saan rpi-sb-provisioner ay pumapasok - isang nababaluktot na balangkas ng automation ng unang boot para sa mga aparato ng Raspberry Pi .
Paano Gumagana rpi-sb-provisioner
Sa unang boot, awtomatikong inilunsad ng system ang rpi-sb-provisioner, na:
- Nagbabasa ng isang file ng pagsasaayos ng paglalaan
- Nagpapatupad ng mga script upang ilapat ang mga setting ng system
- Nagsusulat ng data ng pagkakakilanlan ng aparato (mga serial number, kredensyal, sertipiko, atbp.)
- Markahan ang proseso ng paglalaan bilang kumpleto
Tinitiyak nito na ang bawat aparato ay natatanging naka-configure at handa na para sa pag-deploy - nang walang manu-manong interbensyon.
Pag-install
Sundin ang opisyal na gabay sa pag-install sa: https://github.com/raspberrypi/rpi-sb-provisioner
Pagsasaayos
Kasama rpi-sb-provisioner ang isang simpleng GUI na nakabatay sa browser.
Upang buksan ito, patakbuhin ang sumusunod na utos sa isang terminal:
xdg-open http://localhost:3142Mula dito:
- Buksan ang menu ng Mga Imahe at i-upload ang iyong .img file (nilikha gamit ang rpi-image-gen).
- Buksan ang menu ng Mga Pagpipilian upang i-configure ang mga parameter ng paglalaan, tulad ng target na pamilya ng aparato o ang base na imahe na gagamitin.
- Ang nagresultang pagsasaayos ay naka-imbak sa /etc/rpi-sb-provisioner/config at maaaring magmukhang ganito:
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=Paggamit
- Halimbawa, kapag gumagamit ng isang opisyal na Raspberry Pi Compute Module 5, itakda ang J2 jumper upang huwag paganahin ang eMMC boot.
- Ikonekta ang CM5 sa host ng pagbibigay sa pamamagitan ng USB. Awtomatikong magsisimula ang proseso ng paglalaan.
- Kapag nakumpleto na ang paglalaan, alisin ang jumper at ikonekta ang isang power supply - ang aparato ay mag-boot na ngayon mula sa eMMC.
Mga benepisyo
- Ganap na awtomatikong onboarding ng aparato
- Pare-pareho ang pagsasaayos sa lahat ng mga yunit
- Madaling pagsasama sa mga sistema ng pagmamanupaktura o backend API
- Reproducible - walang manu-manong pag-tweak o hindi pagkakapare-pareho sa pagitan ng mga aparato
Pagpapalawak ng Proseso
Ang daloy ng trabaho ng pagbibigay ay maaaring mapalawak upang isama ang:
- Mga tawag sa API upang magrehistro ng mga aparato sa mga serbisyo ng backend
- Pagbuo ng sertipiko para sa ligtas na boot o pag-encrypt
- Pagpapatunay ng hardware o mga pagsubok sa pag-andar bago ang pag-activate
Sa rpi-sb-provisioner, ang paglalaan ay nagiging isang pinagsamang hakbang sa iyong pipeline ng pagbuo at pag-deploy - hindi isang pag-iisip.
Mga artikulo sa seryeng ito
- Pagbuo ng isang Linux na handa na sa produksyon para sa Raspberry Pi Compute Module 5
- Mula sa Stock OS hanggang sa Platform ng Produksyon
- Pagpapasadya ng Raspberry Pi OS sa rpi-image-gen
- System Robustness - Pagdidisenyo ng isang A / B Root Filesystem Layout
- Provisioning - Pag-automate ng Unang Boot na may rpi-sb-provisioner
- OTA at Lifecycle - Mga Update ng Software na may SWUpdate
Mga Pinagmulan
- 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