مشكلة التوفير
بعد إنشاء صورتك، يجب تخصيص كل لوحة جديدة - مع إعدادات مثل اسم المضيف أو مفاتيح 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).
- افتح قائمة الخيارات لتكوين معلمات التزويد، مثل عائلة الجهاز المستهدف أو الصورة الأساسية المراد استخدامها.
- يتم تخزين التكوين الناتج في /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. بمجرد اكتمال التزويد، قم بإزالة وصلة التوصيل وتوصيل مصدر الطاقة - سيتم الآن تشغيل الجهاز من eMMC.
المزايا
- التهيئة التلقائية الكاملة للأجهزة
- تكوين متسق عبر جميع الوحدات
- سهولة التكامل مع أنظمة التصنيع أو واجهات برمجة التطبيقات الخلفية
- قابل للتكرار - لا توجد تعديلات يدوية أو تناقضات بين الأجهزة
توسيع نطاق العملية
يمكن توسيع سير عمل التزويد ليشمل:
- استدعاءات واجهة برمجة التطبيقات لتسجيل الأجهزة مع الخدمات الخلفية
- إنشاء شهادة للتمهيد الآمن أو التشفير
- التحقق من صحة الأجهزة أو الاختبارات الوظيفية قبل التفعيل
مع rpi-sb-provisioner، يصبح التزويد خطوة متكاملة في عملية الإنشاء والنشر - وليس خطوة لاحقة.
مقالات في هذه السلسلة
- Building a Production-Ready Linux for Raspberry Pi Compute Module 5
- من نظام تشغيل المخزون إلى منصة الإنتاج
- Customizing Raspberry Pi OS with rpi-image-gen
- متانة النظام - تصميم تخطيط نظام ملفات الجذر A/B
- التزويد - أتمتة التمهيد الأول باستخدام rpi-sb-provisioner
- OTA and Lifecycle — Software Updates with 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
- swugenerator: https://github.com/sbabic/swugenerator