حلّ المجتمع

Google Coral PCIe على ZimaOS لـ Frigate: برنامج تشغيل Gasket، وتكامل الإصدار 1.4.1، وحدود USB TPU

A May 2025 thread where IceWhale built a dedicated ZimaOS beta with the Google Coral gasket driver for a Mini PCIe Edge TPU. The original poster confirmed it worked, and Zima-Jerry later confirmed the gasket driver was integrated into official ZimaOS 1.4.1. Later replies opened a separate USB Coral support discussion.

يحتوي هذا المصدر على سلسلة تحقق رسمية قوية. لم يتمكن المستخدم من تثبيت برنامج تشغيل Coral PCIe من Google باستخدام apt أو dpkg لأن ZimaOS يوفّر برامج تشغيل العتاد كجزء من صورة النظام. لذلك أنشأ Zima-Jerry حزمة مخصّصة للنواة/التحديث تتضمن برنامج تشغيل gasket، وثبّتها المستخدم، وبدأ Coral Edge TPU بالعمل.

أكدت IceWhale بعد ذلك أن برنامج تشغيل gasket دُمج في الإصدار الرسمي من ZimaOS 1.4.1. لذلك ينبغي للمستخدمين الحاليين عدم تنزيل حزمة RAUC الاختبارية القديمة أو محاولة تثبيت حزم Coral الخاصة بـ Debian على مضيف ZimaOS.

لم تكن تعليمات برنامج التشغيل الأصلية الخاصة بـ Debian مناسبة لـ ZimaOS

يفترض إعداد Coral PCIe من Google لنظام Linux تقليديًا توزيعةً عامة يمكن فيها تثبيت الحزم ووحدات النواة بعد نشر نظام التشغيل. يختلف ZimaOS عن ذلك: فقد ذكر Zima-Jerry صراحةً أن برامج تشغيل العتاد مدمجة مسبقًا في النظام، ولا يمكن عادةً إضافتها لاحقًا باستخدام أوامر مدير الحزم.

أنشأت IceWhale صورة اختبار مخصّصة لبرنامج تشغيل gasket

أنتج Zima-Jerry حزمة تحديث خاصة لـ ZimaOS بنواة 6.12 تتضمن برنامج تشغيل gasket، وأخبر المستخدم بتثبيتها باستخدام RAUC. كما حذّر من أنها إصدار تجريبي، وأنه يمكن استخدام خانة النظام البديلة إذا فشل الاختبار.

أُنشئت حزمة RAUC الاختبارية هذه للتحقق في مايو 2025. ولا ينبغي التعامل معها على أنها حزمة تثبيت حالية.

أكد المستخدم المصدر أن TPU Coral المتصل عبر PCIe عمل بنجاح

طرفية ZimaOS تعرض جهاز Global Unichip Coral Edge TPU المتصل عبر PCIe، وقد اكتشفه lspci
أكد صاحب المنشور الأصلي أن جهاز Coral المتصل عبر PCIe ظهر بعد إصدار اختبار برنامج تشغيل gasket.

هذا نجاح تحقّق منه المستخدم، وليس مجرد تصحيح مقترح لبرنامج التشغيل.

دمج ZimaOS الرسمي 1.4.1 برنامج تشغيل gasket

بعد إصدار 1.4.1، سأل المستخدم عما إذا كانت الترقية ستزيل برنامج التشغيل العامل. فأجاب Zima-Jerry بأن الإصدار 1.4.1 كان قد دمج بالفعل برنامج تشغيل gasket، وأن بإمكان المستخدم الترقية بثقة.

هذا هو الاستنتاج النهائي المستند إلى المصدر.

لا تُعِد تثبيت برنامج التشغيل التجريبي القديم على ZimaOS الحالي

ترث إصدارات ZimaOS الحالية سلسلة النواة وبرامج تشغيل النظام اللاحقة، لا صورة الاختبار المخصّصة من مايو 2025. تحقّق أولًا مما إذا كان TPU المتصل عبر PCIe مُكتشفًا:

lspci -nn
ls /dev/apex_*

إذا كان الجهاز مفقودًا في إصدار حالي، فاجمع معرّف PCI الدقيق وإصدار ZimaOS بدلًا من تثبيت الحزمة التجريبية القديمة فوق النظام.

لا يزال Frigate بحاجة إلى الوصول إلى جهاز TPU

دعم برنامج تشغيل المضيف ليس سوى الطبقة الأولى. يجب أن تتلقى حاوية Frigate أيضًا جهاز Edge TPU المناسب، وعادةً ما تكون عقدة جهاز Apex لـ Coral عبر PCIe، كما يجب أن يتطابق إعداد الكاشف في Frigate مع العتاد.

استخدم إرشادات عتاد Coral PCIe الحالية مع إصدار Frigate الذي تشغّله فعليًا.

Coral USB هو مسار منفصل للتعريفات والأجهزة

توسع موضوع المنتدى نفسه لاحقًا ليشمل طلبات Coral USB. قد تظهر أجهزة USB أولًا كـ 1a6e:089a ثم لاحقًا باسم 18d1:9302 بعد التهيئة. لا يستخدم مسار USB هذا تدفق gasket/apex نفسه الخاص بـ PCIe.

طرفية ZimaBoard 2 تُظهر وحدة Google Coral USB TPU مكتشفة بواسطة lsusb بالمعرّف 18d1:9302
تناولت الردود المصدرية اللاحقة Coral USB بشكل منفصل؛ ولا ينبغي تعميم دعم gasket لـ PCIe على أجهزة USB.

يوضح الموضوع كيفية التعامل مع طلبات تعريفات ZimaOS

في ZimaOS، يكون غياب تعريف النواة عادةً مشكلة دمج في صورة النظام، وليس سببًا لـ apt install حزمًا في المضيف. زوّد IceWhale بمعرّف الجهاز، والتعريف/الوحدة المطلوبة من المصدر، وإصدار ZimaOS الحالي، حتى يمكن التحقق من التعريف ضمن بنية النظام.

تحقق من تعداد PCI ومن عقدة جهاز Apex

من المفيد حاليًا التحقق ليس فقط من lspci يعرض جهاز Global Unichip/Coral، لكن ما إذا كان تعريف gasket/apex قد أنشأ عقدة الجهاز المتوقعة مثل /dev/apex_0قد يعني تعداد PCI دون عقدة الجهاز أن العتاد مرئي، بينما لم يُربط تعريف وقت التشغيل به بالكامل.

يجب على Frigate استخدام نوع كاشف Coral PCIe بشكل صحيح

بعد أن يتيح المضيف وحدة TPU، اربط جهاز Apex بحاوية Frigate واضبط الكاشف وفق صيغة Edge TPU الحالية في Frigate. لا تعِد استخدام مثال USB اللاحق الجهاز: USB لوحدة Coral عبر PCIe.

لا تُبقِ جهاز NAS مثبتًا إلى الأبد على RAUCB الاختباري القديم

كان قلق المستخدم الأصلي مفهومًا من أن يؤدي تحديث عادي إلى إزالة التعريف الجديد. عالجت IceWhale هذا القلق بدمج gasket في الإصدار الرسمي 1.4.1. وبمجرد أن يصبح تعريف مُختبَر جزءًا من بنية النظام العادية، فإن البقاء على صورة الإصدار التجريبي الخاص ينطوي على مخاطر أكبر من العودة إلى مسار الإصدارات المدعومة.

الأسئلة الشائعة حول Coral في ZimaOS

هل نجح اختبار تعريف gasket لوحدة Coral PCIe فعلًا؟

نعم. أكد صاحب المنشور الأصلي أن وحدة TPU عبر PCIe اكتُشفت وتعمل.

هل أُدرج دعم gasket لاحقًا في إصدار رسمي من ZimaOS؟

نعم. أكد Zima-Jerry صراحةً أنه تم دمجه في ZimaOS 1.4.1.

هل يثبت ذلك تلقائيًا أن كل وحدة TPU من Coral USB تعمل؟

لا. يتبع Coral USB مسارًا منفصلًا لتعريفات وأجهزة USB، وقد نوقش ذلك لاحقًا في الموضوع.