آپ عام طور پر (مائیکرو) SD کارڈ سے Raspberry Pi شروع کرتے ہیں۔ لیکن کبھی کبھی یہ اتنا آسان نہیں ہوتا ہے۔ حال ہی میں، منی کمپیوٹرز کے خاندان کے ڈویلپرز نے دو نئے بوٹ موڈز شامل کیے ہیں: USB اور نیٹ ورک۔ USB موڈ کے ساتھ، آپ Raspberry Pi کو USB اسٹک یا ہارڈ ڈرائیو پر آپریٹنگ سسٹم سے شروع کرتے ہیں جسے آپ USB کے ذریعے جوڑتے ہیں۔
نیٹ ورک موڈ کے ساتھ، آپ کو مقامی اسٹوریج ڈیوائس کی بھی ضرورت نہیں ہے: Raspberry Pi اپنے آپریٹنگ سسٹم کو نیٹ ورک پر دوسرے کمپیوٹر سے ڈاؤن لوڈ کرتا ہے۔ اس طرح آپ مرکزی کمپیوٹر پر آپریٹنگ سسٹم کے ذریعے ایک سے زیادہ Raspberry Pis کو آسانی سے بوٹ کر سکتے ہیں۔ اگر آپ اس مرکزی آپریٹنگ سسٹم کو اپ ڈیٹ کرتے ہیں، تو آپ کے تمام Raspberry Pis خود بخود تازہ ترین ورژن چلائیں گے۔
01 تجرباتی بوٹ موڈز
نئے بوٹ موڈز تجرباتی ہیں اور Raspberry Pi 3 کے لیے تیار کیے گئے ہیں۔ اس کے لیے جو بوٹ کوڈ درکار ہے وہ BCM2837 میں ہے: Raspberry Pi 3 کا پروسیسر۔ اگر آپ کے پاس Raspberry Pi 1, 2 یا Zero ہے، تو آپ بھی کر سکتے ہیں۔ نئے بوٹ موڈز کا استعمال کریں، لیکن ایک چکر میں: fat32 کے ساتھ SD کارڈ کو فارمیٹ کریں، فائل bootcode.bin کو کارڈ میں کاپی کریں اور اس کارڈ سے اپنا Pi بوٹ کریں۔ یہ SD کارڈ کے بغیر مکمل نہیں ہوسکتا ہے، لیکن آپ USB یا نیٹ ورک سے اپنے Pi کو بوٹ کرسکتے ہیں۔
02 USB کے ساتھ ممکنہ مسائل
USB سے بوٹنگ ہمیشہ کام نہیں کرتی۔ مثال کے طور پر، کچھ USB سٹکس بہت آہستہ سے آن ہوتی ہیں۔ بیرونی ہارڈ ڈرائیوز بھی ہمیشہ دو سیکنڈ کے اندر جواب نہیں دیتی ہیں، جب بوٹ کوڈ بطور ڈیفالٹ انتظار کرتا ہے۔ آپ اس ٹائم آؤٹ کو پانچ سیکنڈ تک بڑھا سکتے ہیں، لیکن کچھ ڈرائیوز ابھی تک تیار نہیں ہیں۔ دیگر USB سٹکس میں کمیونیکیشن پروٹوکول کے لیے بہت مخصوص تقاضے ہوتے ہیں، جو Raspberry Pi 3 بوٹ کوڈ (32 kB ROM تک محدود) پورا نہیں کرتا۔ لہذا آپ کو کچھ ڈسکس آزمانا پڑ سکتا ہے۔
03 فرم ویئر اپ گریڈ
ہم فرض کرتے ہیں کہ آپ اپنے Raspberry Pi پر Raspbian چلا رہے ہیں۔ اگر نہیں، تو ایک تصویر ڈاؤن لوڈ کریں اور اسے Win32DiskImager پروگرام کے ساتھ SD کارڈ پر رکھیں اور اس سے Pi بوٹ کریں۔ سب سے پہلے، تمام ذخیروں کو اس کے ساتھ تازہ کریں۔ sudo apt-get update. اگر آپ Raspbian Lite (گرافیکل انٹرفیس کے بغیر ورژن) چلا رہے ہیں، تو پہلے چلائیں۔ sudo apt-get install rpi اپ ڈیٹ کیونکہ Raspbian کے اس کم سے کم ورژن میں rpi-update پیکیج نہیں ہے۔ پھر سے فرم ویئر کو اپ ڈیٹ کریں 'اگلی' شاخ سوڈو برانچ = اگلی آر پی آئی اپ ڈیٹ کے ساتھ.
04 USB موڈ کو فعال کریں۔
کے ساتھ بوٹ کنفیگریشن فائل کھولیں۔ sudo nano /boot/config.txt اور کمانڈ شامل کریں۔ پروگرام_یو ایس بی_بوٹ_موڈ = 1 اختتام تک. فائل کو Ctrl+O کے ساتھ محفوظ کریں اور Ctrl+X کے ساتھ نینو سے باہر نکلیں۔ اپنے Pi کے ساتھ دوبارہ شروع کریں۔ sudo ریبوٹ، اور ریبوٹ کے بعد، یقینی بنائیں کہ USB موڈ فعال ہے۔ آپ حکم کے ساتھ ایسا کرتے ہیں۔ vcgencmd otp_dump | grep 17:، جس میں ختم ہونے والا نمبر لوٹانا چاہیے۔ 0x3020000a. پھر بوٹ کنفیگریشن فائل کو دوبارہ کھولیں اور کمانڈ کو ڈیلیٹ کریں۔ پروگرام_یو ایس بی_بوٹ_موڈ = 1، لہذا آپ غلطی سے کسی دوسرے Pi پر USB بوٹ موڈ کو فعال نہیں کرتے ہیں جس میں آپ یہ SD کارڈ داخل کرتے ہیں۔
05 USB سٹوریج کو تقسیم کرنا
اب اپنے USB اسٹوریج ڈیوائس کو اپنے Pi سے جوڑیں۔ اس ڈیوائس کو اس کے ساتھ تقسیم کریں۔ sudo parted /dev/sda. کے ساتھ ایک نیا پارٹیشن ٹیبل بنائیں mktable msdos اور تصدیق کریں جی ہاں کہ آپ ڈسک پر موجود تمام ڈیٹا کو تباہ کرنا چاہتے ہیں۔ پھر اس کے ساتھ 100 میگا بائٹ فیٹ 32 پارٹیشن بنائیں mkpart پرائمری fat32 0% 100M اور ایک ext4 پارٹیشن جو باقی ڈسک پر قابض ہے۔ mkpart پرائمری ext4 100M 100%. تبدیلیوں کو پرنٹ کے ساتھ دیکھیں اور اس کے ساتھ بند کریں۔ چھوڑو. پھر اس کے ساتھ بوٹ فائل سسٹم بنائیں sudo mkfs.vfat -n BOOT -F 32 /dev/sda1 اور روٹ فائل سسٹم کے ساتھ sudo mkfs.ext4 /dev/sda2.
06 Raspbian کاپی
پروگرام rsync کے ساتھ انسٹال کریں۔ sudo apt-get install rsync. پھر اس کے ساتھ ایک نئی ڈائریکٹری بنائیں sudo mkdir /mnt/usb اور اس پر USB سٹوریج کے ext4 فائل سسٹم کو ماؤنٹ کریں۔ sudo mount /dev/sda2 /mnt/usb/. پھر اس کے ساتھ بوٹ ڈائرکٹری بنائیں sudo mkdir /mnt/usb/boot اور اس پر بوٹ فائل سسٹم کو ماؤنٹ کریں۔ sudo mount /dev/sda1 /mnt/usb/boot/. اب Raspbian سسٹم کو کاپی کریں جسے آپ SD کارڈ سے اپنے USB سٹوریج پر فائل سسٹم میں چلا رہے ہیں۔ آپ حکم کے ساتھ ایسا کرتے ہیں۔ sudo rsync -ax --progress / /boot /mnt/usb. براہ کرم صبر کریں کیونکہ اس میں کچھ وقت لگ سکتا ہے۔
07 کروٹ
USB اسٹوریج میں اب آپ کے چلنے والے Raspbian کی ایک کاپی موجود ہے، لیکن ہر چیز ایک جیسی نہیں ہونی چاہیے۔ مثال کے طور پر، نئے سسٹم کو مختلف ssh کلیدوں کی ضرورت ہے۔ لہذا، کے ساتھ USB سٹوریج پر جائیں cd/mnt/usb اور اس کے ساتھ کچھ خاص فائل سسٹم ماؤنٹ کریں۔ sudo mount --bind/dev dev، sudo mount --bind/sys sys اور sudo mount --bind/proc proc. پھر ایک درج کریں۔ کروم (جڑ کو تبدیل کریں) کے ساتھ باہر سوڈو کروٹ .. اب آپ جو بھی کمانڈز چلاتے ہیں وہ USB سٹوریج کے سسٹم میں چلائے جائیں گے، اب SD کارڈ پر سسٹم میں نہیں ہوں گے۔
08 نئی ssh کیز
اب آپ کروٹ میں روٹ صارف ہیں۔ سب سے پہلے، موجودہ ssh کیز کو حذف کریں کیونکہ یہ وہی ہیں جو ہم نے SD کارڈ کے سسٹم سے کاپی کی ہیں۔ آپ اس کے ساتھ کرتے ہیں۔ rm /etc/ssh/ssh_host*. پھر OpenSSH سرور کو دوبارہ ترتیب دے کر نئی ssh کیز بنائیں dpkg-reconfigure openssh-server. پھر اس کے ساتھ کروٹ سے باہر نکلیں۔ باہر نکلیں. اب آپ جو بھی کمانڈز انجام دیتے ہیں وہ SD کارڈ پر سسٹم میں دوبارہ عمل میں آئیں گے۔ پھر اس کے ساتھ خصوصی فائل سسٹم کو ان ماؤنٹ کریں۔ sudo umount dev، sudo umount sys اور sudo umount proc.
09 روٹ فائل سسٹم کو حسب ضرورت بنائیں
اب یقینی بنائیں کہ Pi SD کارڈ کے بجائے USB سٹوریج پر روٹ فائل سسٹم استعمال کر رہا ہے۔ اس کے لیے آپ فائل میں ترمیم کریں /boot/cmdline.txt کے ساتھ پر sudo sed -i "s,root=/dev/mmcblk0p2,root=/dev/sda2," /mnt/usb/boot/cmdline.txt فائل میں بھی ایسا ہی کریں۔ /etc/fstab: sudo sed -i "s,/dev/mmcblk0p,/dev/sda," /mnt/usb/etc/fstab. پھر سی ڈی کے ساتھ اپنی ہوم ڈائرکٹری میں جائیں، اس کے ساتھ USB اسٹوریج سے فائل سسٹم کو ان ماؤنٹ کریں۔ sudo umount /mnt/usb/boot اور sudo umount /mnt/usb اور اس کے ساتھ Pi کو بند کر دیں۔ sudo پاور آف. پاور کیبل کو ان پلگ کریں، SD کارڈ کو ہٹائیں اور پاور کیبل کو دوبارہ لگائیں۔ اگر سب کچھ ٹھیک رہا تو، آپ کا Pi اب آپ کے USB اسٹوریج سے بوٹ ہو جائے گا۔