Skip to main content

Problem z zaopatrzeniem

Po utworzeniu obrazu każda nowa tablica musi zostać spersonalizowana - z ustawieniami takimi jak nazwa hosta, klucze SSH, konfiguracja lub rejestracja backendu.
Robienie tego ręcznie dla dziesiątek lub nawet setek urządzeń Raspberry Pi Compute Module 5 (CM5) jest po prostu niepraktyczne.

Tutaj właśnie rpi-sb-provisioner elastyczny framework do automatyzacji pierwszego uruchomienia dla Raspberry Pi urządzeń.

Jak rpi-sb-provisioner Działa

Przy pierwszym uruchomieniu system automatycznie uruchamia się rpi-sb-provisionerktóry:

  • odczytuje plik konfiguracyjny provisioningu
  • Wykonuje skrypty w celu zastosowania ustawień systemowych
  • zapisuje dane identyfikacyjne urządzenia (numery seryjne, poświadczenia, certyfikaty itp.)
  • Oznacza proces aprowizacji jako zakończony

Zapewnia to, że każde urządzenie jest unikalnie skonfigurowane i gotowe do wdrożenia - bez ręcznej interwencji.

Instalacja

Proszę postępować zgodnie z oficjalną instrukcją instalacji na stronie: https://github.com/raspberrypi/rpi-sb-provisioner

Konfiguracja

rpi-sb-provisioner zawiera prosty graficzny interfejs użytkownika oparty na przeglądarce.
Aby go otworzyć, proszę uruchomić następujące polecenie w terminalu:

xdg-open http://localhost:3142

Stąd:

  1. proszę otworzyć menu Obrazy i załadować plik .img (utworzony przy użyciu funkcji rpi-image-gen).
  1. Proszę otworzyć menu Options, aby skonfigurować parametry provisioningu, takie jak rodzina urządzeń docelowych lub obraz bazowy.
  2. Wynikowa konfiguracja jest przechowywana w /etc/rpi-sb-provisioner/config i może wyglądać następująco:
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=

Zastosowanie

  1. na przykład, w przypadku korzystania z oficjalnego Raspberry Pi Compute Module 5proszę ustawić zworkę J2, aby wyłączyć rozruch eMMC.
  2. Proszę podłączyć CM5 do hosta przez USB. Proces provisioningu rozpocznie się automatycznie.
  3. Po zakończeniu provisioningu, proszę usunąć zworkę i podłączyć zasilanie - urządzenie uruchomi się teraz z eMMC.

Ustawienie zworki dla rpi-sb-provisioner

Korzyści

  • W pełni zautomatyzowane wdrażanie urządzeń
  • Spójna konfiguracja we wszystkich jednostkach
  • Łatwa integracja z systemami produkcyjnymi lub backendowymi interfejsami API
  • Powtarzalność - brak ręcznych poprawek lub niespójności między urządzeniami

Rozszerzenie procesu

Przepływ pracy provisioningu można rozszerzyć o:

  • wywołania API w celu rejestracji urządzeń w usługach zaplecza
  • Generowanie certyfikatów dla bezpiecznego rozruchu lub szyfrowania
  • Walidację sprzętu lub testy funkcjonalne przed aktywacją

Dzięki rpi-sb-provisionerprovisioning staje się zintegrowanym krokiem w potoku kompilacji i wdrażania - a nie refleksją.