لا يدعم ZimaOS تثبيت البرامج الثابتة لنواة المضيف بشكل عشوائي باستخدام أوامر apt install linux-firmware-... بأسلوب Ubuntu. فـZimaOS نظام على نمط الأجهزة الجاهزة، وقد أوضحت IceWhale للمستخدمين صراحةً أنه ينبغي دمج البرامج الثابتة للمضيف في إصدار نظام التشغيل بدلًا من نسخها يدويًا.
تتعلق الحالة الأصلية بموالف USB DVB-S2 من طراز Hauppauge WinTV-NOVA-S2، وكان يحتاج إلى ملف ثنائي للبرامج الثابتة قبل أن يتمكن Tvheadend أو Plex من استخدامه. وافقت IceWhale على دمج البرامج الثابتة في إصدار مستقبلي وطلبت من المستخدم اختبارها.
لماذا لا تُطبَّق أوامر Ubuntu مباشرة
يمكن لمديري الحزم في Ubuntu كتابة البرامج الثابتة إلى نظام ملفات مضيف قابل للتعديل. أما ZimaOS فليس تثبيت Debian عامًا يستخدم سير عمل الحزم نفسه.
يجب أن تتوفر البرامج الثابتة للنواة على المضيف
تطلب العديد من أجهزة DVB وWi-Fi وغيرها من الأجهزة البرامج الثابتة من نواة المضيف أثناء التهيئة. ولا يمكن لحاوية Docker معالجة ذلك إذا لم يقم المضيف بتهيئة العتاد أصلًا.
الخطوة 1: حدّد الجهاز الدقيق والملف الثنائي المفقود
lsusb
dmesg | grep -i -E 'firmware|dvb|usb'
سجّل معرّفات USB/PCI واسم برنامج التشغيل واسم الملف المفقود بدقة.
الخطوة 2: أكّد مصدر البرامج الثابتة وترخيصها
عند مطالبة IceWhale بتضمينها، قدّم مصدر البرنامج الثابت الرسمي من المورّد أو النواة ومعلومات إعادة التوزيع.
الخطوة 3: اطلب دمجها في نظام التشغيل
قالت IceWhale إن المستخدمين لا يمكنهم إضافة البرامج الثابتة للمضيف بأنفسهم لأسباب أمنية، وإن الفريق يستطيع دمج ملف ثنائي محدد عند وجود حالة استخدام واضحة.
الخطوة 4: اختبر بعد أن يتضمنه أحد الإصدارات
أعِد توصيل الجهاز وافحصه dmesgتريد أن تتم تهيئة برنامج التشغيل دون ظهور الخطأ «ملف البرامج الثابتة غير موجود» قبل إعداد Tvheadend أو Plex.
مرّر الجهاز إلى التطبيق بشكل منفصل
بعد أن يتعرّف المضيف على موالف DVB، قد يظل تطبيق Docker بحاجة إلى البرامج ذات الصلة /dev/dvb الأجهزة المعيّنة داخل الحاوية. وتُعدّ البرامج الثابتة للمضيف ووصول الحاوية طبقتين منفصلتين.
لا تخلط بين البرامج الثابتة لمساحة المستخدم والبرامج الثابتة للنواة
تحمّل بعض التطبيقات نماذجها أو ملفات بياناتها الخاصة، ويمكن تحميل هذه الملفات داخل حاوية. أما البرامج الثابتة التي يطلبها برنامج تشغيل النواة فهي مختلفة.
يساعد دليل استكشاف أعطال الأجهزة وإصلاحها في تنظيم التقرير.
كيف يعمل تحميل البرامج الثابتة في Linux
عندما يهيّئ برنامج تشغيل النواة العتاد، يمكنه استدعاء محمّل البرامج الثابتة في Linux وطلب كتلة ثنائية مسماة من مسارات البرامج الثابتة للمضيف. وإذا كان هذا الملف مفقودًا، فقد يرتبط برنامج التشغيل ارتباطًا جزئيًا فقط أو يرفض إظهار عقدة الجهاز النهائية.
توضح {A("https://docs.kernel.org/driver-api/firmware/request_firmware.html","وثائق محمّل البرامج الثابتة في Linux","تعرّف على كيفية طلب برامج تشغيل النواة للبرامج الثابتة من نظام التشغيل المضيف")} هذه الآلية على مستوى المضيف.
تأكد من وجود برنامج التشغيل قبل طلب البرامج الثابتة فقط
لا يمكن لكتلة ثنائية من البرامج الثابتة أن تساعد إذا كان ZimaOS يفتقر إلى برنامج تشغيل النواة الخاص بالجهاز. تحقّق من dmesg ومعلومات الوحدة لتحديد ما إذا كان برنامج التشغيل يتم تحميله ثم يطلب البرامج الثابتة، أم أن العتاد غير مدعوم في مرحلة سابقة من المكدس.
تمرير الحاوية يأتي بعد اكتشاف المضيف
بالنسبة إلى Tvheadend أو Plex أو أي تطبيق آخر، تأكد أولًا من أن المضيف يعرض الموالف ضمن /dev/dvb. عندها فقط اضبط تعيينات أجهزة Docker وأذونات التطبيقات.
أعد الاختبار بعد كل ترقية لـ ZimaOS
إذا دمجت IceWhale البرامج الثابتة في إصدار، فتحقق من استمرار تهيئة موالف الإشارة بعد التحديثات الرئيسية اللاحقة. احتفظ بمعرّفات العتاد الدقيقة في ملاحظاتك حتى تكون تقارير التراجع قابلة لإعادة الإنتاج.
تعرّف على محمّل البرامج الثابتة في Linux
تطلب برامج تشغيل النواة عادةً كتلة ثنائية مسماة من البرامج الثابتة أثناء تهيئة الجهاز. وتوضح وثائق محمّل البرامج الثابتة في Linux الرسمية أن ذلك يحدث على مستوى نواة المضيف، قبل أن تتمكن معظم حاويات التطبيقات من استخدام الجهاز.
إذا كان برنامج التشغيل موجودًا ولكن الكتلة الثنائية المطلوبة مفقودة، فإن تحديث البرامج الثابتة المدمج في نظام التشغيل هو الحل الأنظف. أما إذا كان برنامج التشغيل نفسه مفقودًا، فلن تؤدي إضافة الكتلة الثنائية وحدها إلى تشغيل العتاد.
الأسئلة الشائعة
هل يمكنني تثبيت linux-firmware باستخدام apt على ZimaOS؟
لا تتعامل مع ZimaOS كما لو كان Ubuntu؛ كان موقف دعم IceWhale هو دمج البرامج الثابتة المطلوبة للمضيف.
هل يمكن لـ Docker تضمين البرامج الثابتة المفقودة؟
ليس إذا كانت نواة المضيف تحتاج إليها قبل ظهور الجهاز للحاوية.
ما الذي ينبغي عليّ التحقق منه بعد الدمج؟
استخدم dmesg وتعداد الأجهزة للتأكد من اكتمال التهيئة بنجاح.
هل تتطلب البرامج الثابتة واجهة رسومية لسطح المكتب؟
لا. تعمل البرامج الثابتة للنواة/الجهاز على خادم دون واجهة رسومية.
