Masalah penyediaan
Setelah membangun citra Anda, setiap papan baru harus dipersonalisasi - dengan pengaturan seperti nama host, kunci SSH, konfigurasi, atau registrasi backend.
Melakukan hal ini secara manual untuk puluhan atau bahkan ratusan Raspberry Pi Compute Module 5 (CM5) sama sekali tidak praktis.
Di situlah rpi-sb-provisioner masuk - kerangka kerja otomatisasi boot pertama yang fleksibel untuk Raspberry Pi perangkat.
Bagaimana rpi-sb-provisioner Cara kerja
Pada boot pertama, sistem secara otomatis meluncurkan rpi-sb-provisioneryang:
- Membaca file konfigurasi penyediaan
- Menjalankan skrip untuk menerapkan pengaturan sistem
- Menulis data identitas perangkat (nomor seri, kredensial, sertifikat, dll.)
- Menandai proses penyediaan telah selesai
Hal ini memastikan setiap perangkat dikonfigurasi secara unik dan siap untuk digunakan - tanpa intervensi manual.
Instalasi
Ikuti panduan instalasi resmi di: https://github.com/raspberrypi/rpi-sb-provisioner
Konfigurasi
rpi-sb-provisioner termasuk GUI konfigurasi berbasis browser yang sederhana.
Untuk membukanya, jalankan perintah berikut ini di terminal:
xdg-open http://localhost:3142Dari sini:
- Buka menu Gambar dan unggah file .img Anda (dibuat menggunakan rpi-image-gen).
- Buka menu Opsi untuk mengonfigurasi parameter penyediaan, seperti keluarga perangkat target atau gambar dasar yang akan digunakan.
- Konfigurasi yang dihasilkan disimpan di /etc/rpi-sb-provisioner/config dan mungkin terlihat seperti ini:
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=Penggunaan
- Misalnya, saat menggunakan Raspberry Pi Compute Module 5resmi, atur jumper J2 untuk menonaktifkan boot eMMC.
- Sambungkan CM5 ke host penyediaan melalui USB. Proses penyediaan akan dimulai secara otomatis.
- Setelah penyediaan selesai, lepaskan jumper dan sambungkan catu daya - perangkat akan melakukan booting dari eMMC.
Manfaat
- Penyiapan perangkat yang sepenuhnya otomatis
- Konfigurasi yang konsisten di semua unit
- Integrasi yang mudah dengan sistem manufaktur atau API backend
- Dapat direproduksi - tidak ada penyesuaian manual atau ketidakkonsistenan antar perangkat
Memperluas Proses
Alur kerja penyediaan dapat diperluas untuk menyertakan:
- Panggilan API untuk mendaftarkan perangkat dengan layanan backend
- Pembuatan sertifikat untuk boot atau enkripsi yang aman
- Validasi perangkat keras atau tes fungsional sebelum aktivasi
Dengan rpi-sb-provisionerprovisioning menjadi langkah terintegrasi dalam pipeline pembuatan dan penerapan Anda - bukan lagi sebuah renungan.
Artikel dalam seri ini
- Building a Production-Ready Linux for Raspberry Pi Compute Module 5
- Dari Stock OS ke Platform Produksi
- Customizing Raspberry Pi OS with rpi-image-gen
- Kekokohan Sistem - Merancang Tata Letak Sistem Berkas A/B Root
- Penyediaan - Mengotomatiskan Booting Pertama dengan rpi-sb-provisioner
- OTA and Lifecycle — Software Updates with SWUpdate
Sumber
- 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