Vấn đề cung cấp
Sau khi xây dựng hình ảnh của bạn, mỗi bảng mới phải được cá nhân hóa — với các cài đặt như tên máy chủ, khóa SSH, cấu hình hoặc đăng ký phụ trợ.
Thực hiện điều này theo cách thủ công cho hàng chục hoặc thậm chí hàng trăm thiết bị Raspberry Pi Compute Module 5 (CM5) đơn giản là không thực tế.
Đó là lúc rpi-sb-provisioner xuất hiện — một khung tự động hóa khởi động đầu tiên linh hoạt cho các thiết bị Raspberry Pi .
Cách thức hoạt động của rpi-sb-provisioner
Trong lần khởi động đầu tiên, hệ thống sẽ tự động khởi chạy rpi-sb-provisioner, mà:
- Đọc tệp cấu hình cung cấp
- Thực thi các tập lệnh để áp dụng cài đặt hệ thống
- Ghi dữ liệu nhận dạng thiết bị (số sê-ri, thông tin đăng nhập, chứng chỉ, v.v.)
- Đánh dấu quá trình cung cấp là hoàn tất
Điều này đảm bảo mọi thiết bị đều được cấu hình duy nhất và sẵn sàng triển khai — mà không cần can thiệp thủ công.
Lắp ráp
Làm theo hướng dẫn cài đặt chính thức tại: https://github.com/raspberrypi/rpi-sb-provisioner
Cấu hình
rpi-sb-provisioner bao gồm một GUI cấu hình dựa trên trình duyệt đơn giản.
Để mở nó, hãy chạy lệnh sau trong thiết bị đầu cuối:
xdg-open http://localhost:3142Từ đây:
- Mở menu Hình ảnh và tải lên tệp .img của bạn (được tạo bằng rpi-image-gen).
- Mở menu Tùy chọn để định cấu hình các thông số cung cấp, chẳng hạn như dòng thiết bị mục tiêu hoặc hình ảnh cơ sở để sử dụng.
- Cấu hình kết quả được lưu trữ trong /etc/rpi-sb-provisioner/config và có thể trông như sau:
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=Sử dụng
- Cho người yêu cũample, khi sử dụng Raspberry Pi Compute Module 5chính thức, hãy đặt jumper J2 để tắt khởi động eMMC.
- Kết nối CM5 với máy chủ cung cấp qua USB. Quá trình cung cấp sẽ tự động bắt đầu.
- Sau khi cung cấp xong, hãy tháo jumper và kết nối nguồn điện - thiết bị bây giờ sẽ khởi động từ eMMC.
Lợi ích
- Tích hợp thiết bị hoàn toàn tự động
- Cấu hình nhất quán trên tất cả các thiết bị
- Tích hợp dễ dàng với các hệ thống sản xuất hoặc API phụ trợ
- Có thể tái tạo — không có tinh chỉnh thủ công hoặc không nhất quán giữa các thiết bị
Mở rộng quy trình
Quy trình cung cấp có thể được mở rộng để bao gồm:
- Lệnh gọi API để đăng ký thiết bị với các dịch vụ phụ trợ
- Tạo chứng chỉ để khởi động hoặc mã hóa an toàn
- Xác thực phần cứng hoặc kiểm tra chức năng trước khi kích hoạt
Với rpi-sb-provisioner, việc cung cấp trở thành một bước tích hợp trong quy trình xây dựng và triển khai của bạn — không phải là một suy nghĩ sau.
Các bài viết trong loạt bài này
- Xây dựng một Linux sẵn sàng sản xuất cho Raspberry Pi Compute Module 5
- Từ hệ điều hành chứng khoán đến nền tảng sản xuất
- Tùy chỉnh Raspberry Pi OS với rpi-image-gen
- Tính mạnh mẽ của hệ thống — Thiết kế bố cục hệ thống tệp gốc A / B
- Cung cấp — Tự động hóa lần khởi động đầu tiên với rpi-sb-provisioner
- OTA và Lifecycle — Cập nhật phần mềm với SWUpdate
Nguồn
- 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