प्रावधान की समस्या
अपनी छवि बनाने के बाद, प्रत्येक नए बोर्ड को वैयक्तिकृत किया जाना चाहिए - होस्टनाम, एसएसएच कुंजी, कॉन्फ़िगरेशन, या बैकएंड पंजीकरण जैसी सेटिंग्स के साथ।
दर्जनों या सैकड़ों 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=प्रयोग
- उदाहरण के लिए, आधिकारिक Raspberry Pi Compute Module 5का उपयोग करते समय, J2 जम्पर को eMMC बूट को अक्षम करने के लिए सेट करें।
- USB के माध्यम से CM5 को प्रोविजनिंग होस्ट से कनेक्ट करें। प्रोविज़निंग प्रक्रिया स्वचालित रूप से प्रारंभ हो जाएगी।
- एक बार प्रावधान पूरा हो जाने पर, जम्पर को हटा दें और बिजली की आपूर्ति कनेक्ट करें - डिवाइस अब eMMC से बूट हो जाएगा।
लाभ
- पूरी तरह से स्वचालित डिवाइस ऑनबोर्डिंग
- सभी इकाइयों में लगातार विन्यास
- विनिर्माण प्रणालियों या बैकएंड एपीआई के साथ आसान एकीकरण
- प्रतिलिपि प्रस्तुत करने योग्य - उपकरणों के बीच कोई मैन्युअल बदलाव या विसंगतियां नहीं
प्रक्रिया का विस्तार
प्रोविज़निंग वर्कफ़्लो को शामिल करने के लिए बढ़ाया जा सकता है:
- बैकएंड सेवाओं के साथ उपकरणों को पंजीकृत करने के लिए एपीआई कॉल करता है
- सुरक्षित बूट या एन्क्रिप्शन के लिए प्रमाणपत्र निर्माण
- सक्रियण से पहले हार्डवेयर सत्यापन या कार्यात्मक परीक्षण
rpi-sb-provisionerके साथ, प्रावधान आपके निर्माण और परिनियोजन पाइपलाइन में एक एकीकृत कदम बन जाता है - बाद का विचार नहीं।
इस श्रृंखला में लेख
- Raspberry Pi Compute Module 5के लिए उत्पादन-तैयार Linux का निर्माण
- स्टॉक ओएस से प्रोडक्शन प्लेटफॉर्म तक
- rpi-image-genके साथ Raspberry Pi OS को अनुकूलित करना
- सिस्टम मजबूती - ए/बी रूट फाइल सिस्टम लेआउट डिजाइन करना
- प्रावधान - 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
- swugenerator: <a href="https://github.com/sbabic/swugenerator" लक्ष्य = "_blank">https://github.com/sbabic/swugenerator