هذه هي الطريقة التي تبدأ بها Raspberry Pi من USB أو من شبكتك

عادة ما تبدأ Raspberry Pi من بطاقة SD (صغيرة). لكن في بعض الأحيان هذا ليس مريحًا جدًا. في الآونة الأخيرة ، أضاف مطورو عائلة الحواسيب الصغيرة وضعين جديدين للتمهيد: 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 ، فيمكنك أيضًا استخدم أوضاع التشغيل الجديدة ، ولكن بطريقة ملتوية: قم بتهيئة بطاقة sd باستخدام fat32 ، وانسخ ملف bootcode.bin إلى البطاقة وقم بتمهيد Pi من هذه البطاقة. قد لا يكتمل ذلك بدون بطاقة SD ، ولكن يمكنك تشغيل Pi من USB أو من الشبكة.

02 مشاكل محتملة مع USB

لا يعمل التمهيد من USB دائمًا. على سبيل المثال ، يتم تشغيل بعض أجهزة USB ببطء شديد. لا تستجيب محركات الأقراص الصلبة الخارجية دائمًا في غضون ثانيتين ، وهو الوقت الذي ينتظره رمز التمهيد افتراضيًا. يمكنك زيادة هذه المهلة إلى خمس ثوانٍ ، لكن بعض محركات الأقراص ليست جاهزة حتى الآن. تحتوي أقراص USB الأخرى على متطلبات محددة جدًا لبروتوكول الاتصال ، والتي لا يلبيها رمز التمهيد Raspberry Pi 3 (يقتصر على 32 كيلو بايت ROM). لذلك قد تضطر إلى تجربة بعض الأقراص.

03 ترقية البرامج الثابتة

نفترض أنك تقوم بتشغيل Raspbian على Raspberry Pi الخاص بك. إذا لم يكن الأمر كذلك ، فقم بتنزيل صورة ووضعها على بطاقة SD باستخدام البرنامج Win32DiskImager وقم بتشغيل Pi منها. أولاً ، قم بتحديث جميع المستودعات باستخدام sudo apt-get update. إذا كنت تقوم بتشغيل Raspbian Lite (الإصدار بدون واجهة رسومية) ، فقم أولاً بتشغيل sudo apt-get install rpi update لأن هذا الإصدار الأدنى من Raspbian لا يحتوي على حزمة تحديث rpi. ثم قم بتحديث البرنامج الثابت من "الفرع التالي مع sudo BRANCH = تحديث rpi التالي.

04 تمكين وضع USB

افتح ملف تكوين التمهيد باستخدام sudo نانو / boot/config.txt وأضف الأمر program_usb_boot_mode = 1 إلى النهاية. احفظ الملف باستخدام Ctrl + O واخرج من nano باستخدام Ctrl + X. أعد تشغيل Pi الخاص بك مع sudo إعادة التشغيل، وبعد إعادة التشغيل ، تأكد من تمكين وضع USB. تفعل ذلك بالأمر vcgencmd otp_dump | جريب 17: ، والتي يجب أن تُرجع رقمًا ينتهي بـ 0x3020000a. ثم افتح ملف تكوين التمهيد مرة أخرى واحذف الأمر program_usb_boot_mode = 1، لذلك لا تقوم عن طريق الخطأ بتمكين وضع تمهيد USB على Pi آخر تقوم بإدخال بطاقة SD فيه.

05 تقسيم وحدة تخزين USB

الآن قم بتوصيل جهاز تخزين USB الخاص بك بـ Pi الخاص بك. قسم هذا الجهاز مع افترقنا sudo / dev / sda. قم بإنشاء جدول أقسام جديد باستخدام mktable msdos وتأكيد مع نعم أنك تريد تدمير جميع البيانات الموجودة على القرص. ثم قم بإنشاء قسم FAT32 بحجم 100 ميغا بايت بامتداد الدهون الأولية مكبارت 32 0٪ 100 م وقسم ext4 يشغل باقي القرص به مكبارت الابتدائي ext41 100 م 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 وقم بتركيب نظام الملفات ext4 لوحدة تخزين USB عليه بامتداد sudo mount / dev / sda2 / mnt / usb /. ثم قم بإنشاء دليل تمهيد باستخدام sudo mkdir / mnt / usb / boot وقم بتركيب نظام ملفات التمهيد عليه بامتداد sudo mount / dev / sda1 / mnt / usb / boot /. الآن انسخ نظام Raspbian الذي تقوم بتشغيله من بطاقة SD إلى نظام الملفات على وحدة تخزين USB. تفعل ذلك مع الأمر sudo rsync -ax - التقدم / التمهيد / mnt / usb. يرجى التحلي بالصبر لأنه قد يستغرق بعض الوقت.

07 كروت

تحتوي وحدة تخزين USB الآن على نسخة من Raspbian قيد التشغيل ، ولكن لا يجب أن يكون كل شيء متطابقًا. على سبيل المثال ، يحتاج النظام الجديد إلى مفاتيح ssh مختلفة. لذلك ، انتقل إلى وحدة تخزين USB مع قرص مضغوط / mnt / usb وربط بعض أنظمة الملفات الخاصة بامتداد sudo mount - ربط / dev ، sudo mount - ربط / sys sys و sudo mount - ربط / proc. ثم أدخل كروم (تغيير الجذر) مع سودو كروت .. سيتم تنفيذ جميع الأوامر التي تنفذها الآن في النظام على وحدة تخزين USB ، ولم تعد موجودة في النظام على بطاقة SD.

08 مفاتيح ssh جديدة

أنت الآن مستخدم أساسي في chroot. أولاً ، احذف مفاتيح ssh الموجودة لأن تلك هي المفاتيح التي نسختها من نظام بطاقة sd. تفعل ذلك مع rm / etc / ssh / ssh_host *. ثم قم بإنشاء مفاتيح ssh جديدة عن طريق إعادة تكوين خادم OpenSSH باستخدام dpkg-إعادة تكوين openssh-server. ثم الخروج من chroot مع خروج. سيتم تنفيذ جميع الأوامر التي تقوم بها الآن مرة أخرى في النظام على بطاقة SD. ثم قم بفك تحميل أنظمة الملفات الخاصة بامتداد sudo umount ديف ، sudo umount sys و sudo umount proc.

09 تخصيص نظام ملفات الجذر

تأكد الآن من أن Pi يستخدم نظام الملفات الجذر على وحدة تخزين USB بدلاً من تلك الموجودة على بطاقة SD. لذلك تقوم بتعديل الملف /التمهيد / cmdline.txt مع sudo sed -i "s، root = / dev / mmcblk0p2، root = / dev / sda2,"/mnt/usb/boot/cmdline.txر. افعل الشيء نفسه في الملف / etc / fstab: sudo sed -i "s، / dev / mmcblk0p، / dev / sda،" / mnt / usb / etc / fstab. ثم انتقل إلى الدليل الرئيسي الخاص بك باستخدام القرص المضغوط ، وقم بإلغاء تحميل أنظمة الملفات من وحدة تخزين USB باستخدام sudo umount / mnt / usb / التمهيد و sudo umount / mnt / usb وإيقاف تشغيل Pi مع sudo poweroff. افصل كبل الطاقة ، وأزل بطاقة SD وقم بتوصيل كابل الطاقة مرة أخرى. إذا سارت الأمور على ما يرام ، فسيقوم Pi الآن بالتمهيد من وحدة تخزين USB.

المشاركات الاخيرة