ستحصل نواة Linux قريبًا على الدعم الأولي لمجموعة شرائح M1 من Apple

سيضيف الإصدار 5.13 من Linux Kernel دعمًا أوليًا لشريحة Apple M1، وهي أول شريحة SoC من فئة سطح المكتب ضمن تصميم Apple Silicon.

كشفت شركة Apple عن أول تصميم لها بنظام System-on-a-Chip من فئة أجهزة الكمبيوتر المكتبية العام الماضي، وهو Apple M1، استنادًا إلى نفس بنية ARM مثل معظم الهواتف الذكية والأجهزة اللوحية. في حين أن Linux يعمل بشكل جيد على أجهزة ARM (مثل Raspberry Pi) لسنوات، فإن أجهزة Apple مخصصة بشكل كبير وتتطلب دعمًا برمجيًا محددًا. لحسن الحظ، نحن الآن على بعد خطوة واحدة من تشغيل Linux على Apple Silicon.

اساهي لينكس تعمل على جلب "تجربة Linux مصقولة" إلى أجهزة Apple Silicon Macs وتقوم بإرسال التعليمات البرمجية الخاصة بها إلى مشروع Linux لتضمينها في Linux kernel الرسمي. تم دمج العمل الأولي للمجموعة في قاعدة بيانات Linux SoC، ومن المحتمل أن يصل كجزء من تحديث Linux 5.13 القادم.

من المثير أن نرى الدعم الأولي لأجهزة Apple الجديدة يصل إلى Linux kernel بعد بضعة أشهر فقط من بدء شحن الأجهزة الأولى، ولكن الكلمة الأساسية هناك هي "الأولي". بينما لينكس من الناحية الفنية بالتمهيد على M1، مازلنا بعيدين جدًا عن توصيل محرك أقراص USB المباشر والنقر فوق زر التثبيت. يتضمن الكود الحالي دعمًا للوظائف الأساسية ذات المستوى المنخفض، مثل

المعالجة المتعددة المتماثلة عبر الجداول الدوارة، التعامل مع IRQوالاتصالات التسلسلية ومخزن الإطارات المؤقت. يمكن لنظام التشغيل Linux التشغيل إلى موجه الأوامر، ولكن ليس هناك أي شيء آخر - حتى أنه لا يوجد دعم كامل للرسومات حتى الآن.

Linux على جهاز Apple M1 Mac Mini (الائتمان: Asahi Linux)

بينما يتقدم دعم kernel الرسمي لأجهزة M1 بوتيرة ثابتة، تمكن بعض الأشخاص من الاقتراب من تجربة سطح المكتب الحقيقية من خلال العديد من الاختراقات. تمكنت شركة Corellium، وهي شركة تطوير متخصصة في المحاكاة الافتراضية لـ ARM، من إنشاء ملف سطح مكتب Ubuntu قابل للاستخدام على M1 Mac Mini. ومع ذلك، فإن معظم أعمال Corellium لا يتم نقلها إلى Linux kernel.

كتب كوريليوم عن كيفية اختلاف بنية M1 عن تصميمات ARM الأخرى في مشاركة مدونة. "يقوم برنامج تحميل التشغيل، الذي يُسمى تقليديًا iBoot، بتحميل ملف كائن قابل للتنفيذ بتنسيق يسمى Mach-O، ويتم ضغطه ولفه بشكل اختياري بتنسيق غلاف موقّع يستند إلى ASN.1 يسمى IMG4. للمقارنة، يبدأ نظام التشغيل Linux العادي على نظام ARM 64 بت كصورة ثنائية مسطحة. صمموا وحدة تحكم المقاطعة الخاصة بهم، وحدة تحكم المقاطعة Apple (AIC)، غير المتوافقة مع أي من ARM GIC الرئيسية المعايير. وليس ذلك فحسب: فمقاطعات المؤقت - التي يتم توصيلها عادةً بمقاطعة عادية لكل وحدة معالجة مركزية على ARM - تكون كذلك بدلاً من ذلك، يتم توجيهها إلى FIQ، وهي ميزة معمارية غامضة، تُرى بشكل متكرر في ARM 32 بت القديم أيام."

تفاح شرائح M1 يتم شحنه حاليًا على أجهزة MacBook Air وMacBook Pro وMac Mini. إنها شريحة 5 نانومتر مع ثمانية مراكز في المجموع: أربعة مراكز عالية الأداء وأربعة مراكز موفرة للطاقة. يوجد أيضًا محرك عصبي لمهام التعلم الآلي، بالإضافة إلى وحدة معالجة رسومات ثمانية النواة. وعدت شركة Apple بأن M1 سيقدم أداءً أفضل من وحدات المعالجة المركزية Intel المستخدمة سابقًا مع استخدام حوالي ربع الطاقة فقط، وبعد ذلك اختبار في العالم الحقيقي دعمت تلك الادعاءات. لحسن الحظ، يدعم M1 بشكل كامل تشغيل النوى غير الموقعة/المخصصة، لذا فإن تشغيل Linux لا يتطلب أي عمليات استغلال أمنية يمكن تصحيحها لاحقًا.

يعد نظام التشغيل macOS الخاص بشركة Apple بالفعل نظام تشغيل رائعًا، ولكن وجود نظام Linux لسطح المكتب كخيار يمكن أن يكون نقطة بيع قوية لبعض المشترين المحتملين لأجهزة MacBook وMac Mini. واجهت شركة Apple انتقادات على مر السنين بسبب إغلاق بعض جوانب نظام التشغيل macOS أو التخلي عن المعايير المشتركة بين الأنظمة الأساسية لصالح البدائل الخاصة. على سبيل المثال، لا يزال نظام التشغيل macOS لا يدعم واجهة Vulkan API للرسومات عبر الأنظمة الأساسية. فقط واجهة برمجة التطبيقات المعدنية الخاصة بالشركة.