プロビジョニングの問題
イメージを構築した後、ホスト名、SSHキー、コンフィギュレーション、バックエンドの登録など、それぞれの新しいボードをパーソナライズする必要があります。
これを何十台、何百台もの Raspberry Pi Compute Module 5(CM5)ユニットのためにこれを手作業で行うことは、単に現実的ではありません。
そこで rpi-sb-provisionerのための柔軟なファーストブート自動化フレームワークです。 Raspberry Piデバイスのための柔軟なファーストブート自動化フレームワークです。
事業内容 rpi-sb-provisioner作品紹介
最初の起動時に、システムは自動的に rpi-sb-provisionerを起動します:
- プロビジョニング設定ファイルの読み込み
- システム設定を適用するためのスクリプトの実行
- デバイス ID データ(シリアル番号、認証情報、証明書など)の書き込み
- プロビジョニング・プロセスの完了をマーク
これにより、手動による介入なしに、すべてのデバイスが一意に構成され、配備の準備が整うことが保証されます。
インストール
以下の公式インストールガイドに従ってください: https://github.com/raspberrypi/rpi-sb-provisioner
構成
rpi-sb-provisionerには、シンプルなブラウザベースの設定GUIが含まれています。
これを開くには、ターミナルで次のコマンドを実行します:
xdg-open http://localhost:3142ここから
1.Imagesメニューを開き、.imgファイルをアップロードします。 rpi-image-gen).
2.オプションメニューを開き、ターゲットデバイスファミリーや使用するベースイメージなどのプロビジョニングパラメータを設定します。
3.出来上がった設定は /etc/rpi-sb-provisioner/configに保存され、以下のようになります:
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=使用方法
1.例えば、公式の Raspberry Pi Compute Module 5を使用する場合は、J2 ジャンパーを設定して eMMC ブートを無効にします。
2.CM5をUSB経由でプロビジョニングホストに接続します。プロビジョニングプロセスが自動的に開始されます。
3.プロビジョニングが完了したら、ジャンパを取り外し、電源を接続します。
メリット
- 完全に自動化されたデバイスオンボーディング
- すべてのユニットで一貫した設定
- 製造システムやバックエンドAPIとの容易な統合
- 再現性 - デバイス間の手動調整や不整合なし
プロセスの拡張
プロビジョニングワークフローは以下のように拡張できます:
- バックエンド・サービスにデバイスを登録するためのAPIコール
- セキュアブートまたは暗号化のための証明書生成
- アクティベーション前のハードウェア検証または機能テスト
これにより rpi-sb-provisionerにより、プロビジョニングはビルドとデプロイメントのパイプラインに統合されたステップになります。
情報源
- 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