跳转到主要内容

供应问题

建立镜像后,必须对每个新板卡进行个性化设置,如主机名、SSH 密钥、配置或后台注册。
为几十个甚至上百个 Raspberry Pi Compute Module 5(CM5)单元进行手动设置是不现实的。

这就是 rpi-sb-provisioner就是在这种情况下出现的,它是一个灵活的首次启动自动化框架,适用于 Raspberry Pi设备的灵活的首次启动自动化框架。

如何 rpi-sb-provisioner工作原理

第一次启动时,系统会自动启动 rpi-sb-provisioner,它会

  • 读取配置配置文件
  • 执行脚本以应用系统设置
  • 写入设备身份数据(序列号、凭证、证书等)
  • 标记配置过程完成

这可确保每台设备都经过唯一配置,随时可部署,无需人工干预。

安装

按照官方安装指南进行安装,网址是 https://github.com/raspberrypi/rpi-sb-provisioner

配置

rpi-sb-provisioner包括一个基于浏览器的简单配置图形用户界面。
要打开它,请在终端中运行以下命令:

xdg-open http://localhost:3142

从这里
打开 "图像 "菜单,上传您的 .img 文件(使用 rpi-image-gen).
2.打开 "选项 "菜单配置配置参数,如目标设备系列或要使用的基本映像。
生成的配置存储在 /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=

使用方法

例如,当使用官方 Raspberry Pi Compute Module 5时,将 J2 跳线设置为禁用 eMMC 启动。
通过 USB 将 CM5 连接到配置主机。配置过程将自动启动。
3 配置完成后,移除跳线并连接电源,此时设备将从 eMMC 启动。

跳线设置为 rpi-sb-provisioner

益处

  • 全自动设备上机
  • 所有设备配置一致
  • 与制造系统或后台应用程序接口轻松集成
  • 可重复 - 无需手动调整或设备间的不一致

扩展流程

调配工作流程可以扩展,包括

  • 调用 API 向后端服务注册设备
  • 为安全启动或加密生成证书
  • 激活前的硬件验证或功能测试

通过 rpi-sb-provisioner,调配将成为构建和部署管道中的一个集成步骤,而不是事后才想到的。