ปัญหาการเตรียมใช้งาน
หลังจากสร้างอิมเมจของคุณแล้ว บอร์ดใหม่แต่ละบอร์ดจะต้องได้รับการปรับแต่งให้เป็นส่วนตัว — ด้วยการตั้งค่า เช่น ชื่อโฮสต์ คีย์ 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 มี GUI การกําหนดค่าบนเบราว์เซอร์อย่างง่าย
หากต้องการเปิด ให้เรียกใช้คําสั่งต่อไปนี้ในเทอร์มินัล:
xdg-open http://localhost:3142จากที่นี่:
- เปิดเมนูรูปภาพและอัปโหลดไฟล์ .img ของคุณ (สร้างโดยใช้ rpi-image-gen)
- เปิดเมนูตัวเลือกเพื่อกําหนดค่าพารามิเตอร์การจัดสรร เช่น ตระกูลอุปกรณ์เป้าหมายหรืออิมเมจพื้นฐานที่จะใช้
- การกําหนดค่าผลลัพธ์จะถูกเก็บไว้ใน /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=การใช้
- สําหรับอดีต amp เมื่อใช้ Raspberry Pi Compute Module 5อย่างเป็นทางการ ให้ตั้งค่าจัมเปอร์ J2 เพื่อปิดใช้งานการบูต eMMC
- เชื่อมต่อ CM5 กับโฮสต์การจัดเตรียมผ่าน USB กระบวนการจัดเตรียมจะเริ่มโดยอัตโนมัติ
- เมื่อการจัดเตรียมเสร็จสิ้น ให้ถอดจัมเปอร์ออกและเชื่อมต่อแหล่งจ่ายไฟ — อุปกรณ์จะบู๊ตจาก eMMC
ประโยชน์
- การเริ่มต้นใช้งานอุปกรณ์อัตโนมัติเต็มรูปแบบ
- การกําหนดค่าที่สอดคล้องกันในทุกยูนิต
- ผสานรวมกับระบบการผลิตหรือ API แบ็กเอนด์ได้ง่าย
- ทําซ้ําได้ — ไม่มีการปรับแต่งด้วยตนเองหรือความไม่สอดคล้องกันระหว่างอุปกรณ์
การขยายกระบวนการ
เวิร์กโฟลว์การเตรียมใช้งานสามารถขยายได้เพื่อรวม:
- การเรียก API เพื่อลงทะเบียนอุปกรณ์กับบริการแบ็กเอนด์
- การสร้างใบรับรองสําหรับการบูตหรือการเข้ารหัสอย่างปลอดภัย
- การตรวจสอบฮาร์ดแวร์หรือการทดสอบการทํางานก่อนเปิดใช้งาน
ด้วย rpi-sb-provisionerการเตรียมใช้งานจะกลายเป็นขั้นตอนที่ผสานรวมในไปป์ไลน์การสร้างและการปรับใช้ของคุณ
บทความในชุดนี้
- การสร้างLinuxที่พร้อมใช้งานจริงสําหรับ Raspberry Pi Compute Module 5
- จากสต็อกระบบปฏิบัติการสู่แพลตฟอร์มการผลิต
- การปรับแต่งRaspberry Pi OSด้วย rpi-image-gen
- ความแข็งแกร่งของระบบ — การออกแบบเค้าโครงระบบไฟล์ราก A/B
- การจัดเตรียม — การบูตครั้งแรกโดยอัตโนมัติด้วย rpi-sb-provisioner
- OTA และวงจรชีวิต — การอัปเดตซอฟต์แวร์ด้วย SWUpdate
แหล่งที่มา
- 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
- <a href="https://github.com/sbabic/swugenerator: swugenerator" เป้าหมาย="_blank">https://github.com/sbabic/swugenerator