التطوير مستمر على https://github.com/raspberrypi/rpi-update سيتحول البرنامج النصي لتحديث rpi تلقائيًا إلى الريبو الجديد.
أداة للحصول على أحدث البرامج الثابتة والنواة لجهاز Raspberry Pi.
هذا مخصص للاستخدام فقط مع نظام التشغيل Raspberry Pi OS. إذا كنت تستخدم توزيعًا مختلفًا، فتحقق من المشرفين إذا كان استخدام تحديث rpi آمنًا.
إذا كانت التوزيعة تشحن نواة مخصصة (مثل BerryBoot)، فمن المؤكد أنها ليست آمنة. كما أن الاختلافات في استخدام مجلدات /boot و /opt/vc من المحتمل أن تجعلها غير آمنة.
حتى على نظام Raspberry Pi OS، يجب عليك استخدام هذا فقط لسبب وجيه.
يمنحك هذا أحدث نواة/برامج ثابتة. هناك دائما احتمال التراجعات.
ستشق إصلاحات الأخطاء والتحسينات طريقها في النهاية إلى إصدارات Raspberry Pi OS الجديدة وapt-get عندما يتم اعتبارها مختبرة بشكل جيد بما فيه الكفاية.
أحد الأسباب الجيدة لاستخدام هذا هو إذا كنت ترغب في المساعدة في جهود الاختبار، وكنت سعيدًا بالمخاطرة بالأعطال وإرسال تقارير الأخطاء. هؤلاء المختبرين موضع ترحيب.
أيضًا إذا كنت تعاني من خطأ في البرامج الثابتة الحالية (ربما كأحد مراسلي الخطأ على github أو المنتدى) وتم دفع الإصلاح للاختبار، فإن استخدام rpi-update هو الطريقة الصحيحة للحصول على الإصلاح حتى فهو يشق طريقه إلى صور Raspberry Pi OS الجديدة وapt-get.
يُنصح دائمًا بالنسخ الاحتياطي قبل التحديث.
لتثبيت الأداة قم بتشغيل الأمر التالي:
sudo apt-get install rpi-update
لتثبيت الأداة قم بتشغيل الأمر التالي:
sudo curl -L --output /usr/bin/rpi-update https://raw.githubusercontent.com/Hexxeh/rpi-update/master/rpi-update && sudo chmod +x /usr/bin/rpi-update
ثم، لتحديث البرنامج الثابت الخاص بك، ما عليك سوى تشغيل الأمر التالي:
sudo rpi-update
بعد تحديث البرنامج الثابت بنجاح، ستحتاج إلى إعادة التشغيل لتحميل البرنامج الثابت الجديد.
إذا كنت ترغب في تعيين تقسيم مختلف لذاكرة GPU/ARM، فحدد gpu_mem
في /boot/config.txt
.
للترقية/الرجوع إلى إصدار سابق لبرنامج ثابت محدد، حدد تجزئة Git الخاصة به (من مستودع https://github.com/Hexxeh/rpi-firmware) كما يلي:
sudo rpi-update fab7796df0cf29f9563b507a59ce5b17d93e0390
هناك عدد من الخيارات للخبراء الذين قد ترغب في الاستعانة بهم. هذه كلها متغيرات البيئة التي يجب عليك تعيينها إذا كنت ترغب في استخدامها.
UPDATE_SELF
افتراضيًا، سيحاول rpi-update
تحديث نفسه في كل مرة يتم تشغيله. يمكنك تعطيل هذا السلوك عن طريق:
sudo UPDATE_SELF=0 rpi-update
SKIP_KERNEL
sudo SKIP_KERNEL=1 rpi-update
سيتم تحديث كل شيء باستثناء ملفات kernel.img
ووحدات kernel. استخدم بحذر، قد تعتمد بعض تحديثات البرامج الثابتة على تحديث kernel.
SKIP_BACKUP
sudo SKIP_BACKUP=1 rpi-update
يتجنب عمل نسخة احتياطية من /boot و /lib/modules عند التشغيل لأول مرة.
SKIP_REPODELETE
sudo SKIP_REPODELETE=1 rpi-update
افتراضيًا، يتم حذف الملفات التي تم تنزيلها (/root/.rpi-firmware) في نهاية التحديث. استخدم هذا الخيار للاحتفاظ بالملفات.
SKIP_VCLIBS
sudo SKIP_VCLIBS=1 rpi-update
سيتم تحديث كل شيء باستثناء مكتبات VideoCore. استخدم هذا الخيار للاحتفاظ بمكتبات VideoCore الموجودة إذا كنت لا تريد استبدال إصداراتك المحلية.
ROOT_PATH
و BOOT_PATH
sudo ROOT_PATH=/media/root BOOT_PATH=/media/boot rpi-update
يسمح لك بإجراء تحديث "بدون اتصال"، أي تحديث البرنامج الثابت على بطاقة SD التي لم يتم التمهيد منها حاليًا. مفيد لتثبيت البرامج الثابتة/النواة على صورة مخصصة غير RPI. كن حذرا، يجب عليك تحديد كلا الخيارين أو لا أحد. تحديد واحد فقط لن ينجح.
FW_SUBDIR
sudo FW_SUBDIR=safe rpi-update
يسمح بتثبيت البرنامج الثابت في دليل فرعي لـ /boot. تهدف هذه الميزة إلى دعم إعداد os_prefix
الذي يمكن استخدامه في config.txt
. افتراضيًا، تتم تهيئة FW_SUBDIR إلى قيمة os_prefix
السارية عند تشغيل الجهاز، وذلك لاستبدال البرامج الثابتة "قيد التشغيل". للتثبيت بشكل صريح بدون دليل فرعي (للتثبيت في /boot)، استخدم FW_SUBDIR=/
.
BRANCH
بشكل افتراضي، يستنسخ ملفات البرامج الثابتة من الفرع الرئيسي، وإلا يستخدم الملفات من الفرع المحدد، على سبيل المثال:
sudo BRANCH=next rpi-update
سيستخدم الفرع "التالي".
PRUNE_MODULES
يسمح لك بحذف أدلة الوحدة غير المستخدمة عند إجراء التحديث. قم بتعيينها مساوية لقيمة غير صفرية وستؤدي إلى إزالة جميع الوحدات باستثناء أحدث الوحدات المثبتة:
sudo PRUNE_MODULES=1 rpi-update
سيتم إزالة ملفات الوحدة النمطية المثبتة مسبقًا. استخدم هذا الخيار لتحرير مساحة القرص التي تستخدمها تحديثات الوحدة القديمة.
JUST_CHECK
للحصول على قائمة بالالتزامات الموجودة في تحديث rpi منذ آخر تحديث، قم بتشغيل:
sudo JUST_CHECK=1 rpi-update
لن يؤدي هذا إلى تحديث البرامج الثابتة الخاصة بك
GITHUB_API_TOKEN
افتراضيًا، لن يستخدم rpi-update
رمزًا مميزًا لـ GitHub API. إذا واجهت مشكلات تتعلق بتقييد المعدل، فيمكنك توفير رمز مميز لواجهة برمجة التطبيقات (API) في سطر الأوامر:
sudo GITHUB_API_TOKEN=<your API token> rpi-update
RPI_REBOOT
لإعادة التشغيل بعد التحديث بنجاح، قم بتشغيل:
sudo RPI_REBOOT=1 rpi-update
يمكنك استخدامه لأتمتة التحديثات.
هناك مشكلتان محتملتان تتعلقان بشهادات SSL والتي قد تمنع هذه الأداة من العمل.
ربما تم ضبط الوقت بشكل غير صحيح على جهاز Raspberry Pi، وهو ما يمكنك إصلاحه عن طريق ضبط الوقت باستخدام NTP.
sudo apt-get install ntpdate
sudo ntpdate -u ntp.ubuntu.com
المشكلة الأخرى المحتملة هي أنه قد لا تكون حزمة ca-certificates
مثبتة لديك، وبالتالي فإن شهادة SSL الخاصة بـ GitHub غير موثوقة. إذا كنت تستخدم دبيان، فيمكنك حل هذه المشكلة عن طريق كتابة:
sudo apt-get install ca-certificates
قد تؤدي Pi-hole وDNS المماثلة إلى إيقاف هذه الأداة عن العمل. تأكد من عدم حظر مجالات github.com. (على سبيل المثال، codeload.github.com)