پروویژننگ کا مسئلہ
اپنی امیج بنانے کے بعد، ہر نیا بورڈ ذاتی نوعیت کا ہونا چاہیے — جس میں ہوسٹ نیم، 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=استعمال
- مثال کے طور پر، جب آفیشل Raspberry Pi Compute Module 5استعمال کر رہے ہوں، تو J2 جمپر کو eMMC بوٹ کو غیر فعال کرنے کے لیے سیٹ کریں۔
- CM5 کو پروویژننگ ہوسٹ سے USB کے ذریعے کنیکٹ کریں۔ پروویژننگ کا عمل خود بخود شروع ہو جائے گا۔
- جب پروویژننگ مکمل ہو جائے تو جمپر ہٹا کر پاور سپلائی کنیکٹ کریں — اب ڈیوائس eMMC سے بوٹ ہو جائے گی۔
فوائد
- مکمل طور پر خودکار ڈیوائس آن بورڈنگ
- تمام یونٹس میں مستقل ترتیب
- مینوفیکچرنگ سسٹمز یا بیک اینڈ APIs کے ساتھ آسان انضمام
- قابل تکرار — کوئی دستی تبدیلیاں یا ڈیوائسز کے درمیان تضادات نہیں
عمل کو بڑھانا
پروویژننگ ورک فلو کو اس حد تک بڑھایا جا سکتا ہے:
- بیک اینڈ سروسز کے ساتھ ڈیوائسز کو رجسٹر کرنے کے لیے API کالز
- محفوظ بوٹ یا انکرپشن کے لیے سرٹیفکیٹ جنریشن
- ایکٹیویشن سے پہلے ہارڈویئر ویلیڈیشن یا فنکشنل ٹیسٹ
rpi-sb-provisionerکے ساتھ، پروویژننگ آپ کی تعمیر اور تعیناتی کی پائپ لائن میں ایک مربوط قدم بن جاتی ہے — کوئی بعد کی سوچ نہیں۔
اس سلسلے کے مضامین
ذرائع
- 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