تتلقى نواة Linux التي تعتمد عليها جميع أجهزة Android تحديثًا رئيسيًا للإصدار 5.0. نحن نراجع التغييرات ذات الصلة بالهاتف المحمول.
على الرغم من أننا لا نغطي عادةً ما يحدث في مجال نواة Linux الرئيسي، فمن المهم بالنسبة لنا أن نتتبع ما يحدث مع كل إصدار جديد للنواة نظرًا لأن Google تفرض الحد الأدنى لإصدار نواة لينكس المتطلبات مع كل إصدار جديد من Android. القرار الأخير ل تمديد إصدارات LTS من 2 إلى 6 سنوات سيلعب دورًا رئيسيًا في تقليل تجزئة تصحيح الأمان حيث سيتعين على صانعي الأجهزة القيام بعمل أقل في نقل تصحيحات الأمان. بالإضافة إلى ذلك، غالبًا ما تقوم النواة الرئيسية بدمج الميزات الجديدة ذات الصلة بالأجهزة المحمولة.
على سبيل المثال، الأول الافراج عن بناء المرشح تم إطلاق إصدار LTS التالي من النواة مؤخرًا —Linux kernel 5.0 RC1. لا يزال هناك شهر أو شهرين متبقيين قبل الإصدار المستقر، ولكن يمكننا بالفعل إلقاء نظرة خاطفة على ما سيأتي في الإصدار القادم. سأسلط الضوء على بعض التحديثات ذات الصلة بالأجهزة المحمولة، لكنني أوصيك بالاطلاع على سجل التغييرات الكامل إذا كنت مهتمًا على الإطلاق بتطوير المصادر المفتوحة ونواة Linux.
ذراع كبيرة. دعم القليل من EAS
جدولة الطاقة واعية لقد أصبح شيئًا على أجهزة Android منذ إصدار Pixel الأصلي. يعد EAS أحد الأسباب التي تجعل أجهزة Google Pixel أكثر سرعة بشكل عام من منافسيها. لقد تم بالفعل تمكين الدعم من خلال إصدار Qualcomm لنواة Snapdragon 845، لذا فإن أي جهاز مزود بـ SoC (أو الأحدث) سيدعم EAS. على الرغم من أن Linux لم يحصل على دعم أولي لـ Energy Aware Scheduling، حتى الآن. من الناحية النظرية، من المفترض أن يسهل الدعم الأولي على الشركات المصنعة للسيليكون والأجهزة تنفيذ التكنولوجيا في أجهزتهم. بالنسبة للمستخدمين النهائيين، فإن الدعم الأولي لا يعني الكثير حقًا.
دعم أديانتوم
Speck عبارة عن خوارزمية تشفير طورتها وكالة الأمن القومي (NSA) وتعمل بشكل جيد على الأجهزة المنخفضة الجودة. جوجل منوي لإضافة دعم لـ speck لأنه يوفر دعمًا لتشفير البيانات للأجهزة ذات الميزانية المحدودة مع SoCs التي تفتقر إلى امتدادات التشفير المسرّعة للأجهزة. تم انتقاد اعتماد سبيك على نطاق واسع بسبب علاقاته بوكالة الأمن القومي. تمت إزالة دعم speck في Linux kernel 4.20، ويعمل بديله Adiantum بنفس الجودة، إن لم يكن أفضل، على الأجهزة المنخفضة الجودة مع أنظمة الملفات EXT4/F2FS.
إصلاحات F2FS وEXT4
نظام الملفات الصديق للفلاش، أو F2FS، هو تستخدم على نطاق واسع في أجهزة أندرويد. Google Pixel 3 وPixel 3 XL رسميًا دعم F2FS، على سبيل المثال. على ما يبدو، أرسل Jaegeuk Kim، المطور الأصلي لـ F2FS، طلب دمج للكثير من الإصلاحات لنظام الملفات إلى مستودع Linux. تهتم هذه التغييرات بمشكلات التشفير وإدارة وقت الخمول، إلى جانب إصلاحات جمع البيانات المهملة. يمكنك رؤية كافة التفاصيل في طلب السحب هذا. بشكل عام، يعمل إصلاح F2FS على تحسين الاستقرار والموثوقية على الهواتف الذكية التي تعمل بنظام Android والتي تدعمه أو ستدعمه.
وبالمثل، تلقى نظام الملفات EXT4 الشهير ما يزيد قليلاً عن اثنتي عشرة تصحيحات. يتم استخدام EXT4 على العديد من أجهزة Android مثل أحدث أجهزة OnePlus (بما في ذلك ون بلس 5Tو ون بلس 6 و ون بلس 6T).
دعم أجهزة ARM الجديدة
يمكن القول إن توزيعات GNU/Linux هي أفضل أنظمة التشغيل التي يمكن تشغيلها على الأجهزة المبنية على ARM. أنها توفر مهام متعددة موثوقة بناءً على نموذج مفتوح المصدر. تم تصميم معالجات ARM خصيصًا لأداء العديد من المهام في وقت واحد. ولهذا السبب من المهم أن يواكب نظام التشغيل الأجهزة. كما يعلم البعض منكم، فإن غالبية الهواتف الذكية والأجهزة اللوحية التي تعمل بنظام Android تستخدم شرائح ذات بنية ARM. تعتبر الرقائق المستندة إلى RISC مثالية لتشغيل المهام اليومية (التي تقوم بها على هاتفك الذكي. يضيف Linux kernel 5.0 دعمًا للعديد من أجهزة ARM الجديدة. وهنا بعض منها:
- تيغرا X2
- تيجرا كزافييه
- ألوينر F1C100
- كوالكوم QCS404
- ألوينر T3
- إن إكس بي لايرسكيب LX2160
وبصرف النظر عن دعم التوافق العالمي لأجهزة ARM محددة، فقد قام Linux kernel 5.0 أيضًا بتحسين إدارة الطاقة.
دعم BinderFS
يستخدم Android Binder لتبادل الوسائط بين العمليات المختلفة في النظام. تستخدم التطبيقات والأنشطة والعمليات Binder لبدء العمليات وإدارتها. يعتمد الأمان على Android بشكل كبير على أذونات UID. يتحقق Binder من معرفات UID التي توفرها التطبيقات باستخدام مكالمات IPC ثنائية الاتجاه للتأكد من أن لديه حق الوصول إلى الميزة التي يريد استخدامها. BinderFS هو إصدار محدث من Binder، ولكنه أكثر تخصصًا ومتوافقًا مع النظام. لن يغير دعم BinderFS كثيرًا بالنسبة للمستخدم النهائي، ولكنه سيحل بعض مشكلات التنفيذ للمطورين على المدى الطويل. هنا هو الالتزام ذو الصلة.
إطار إدارة نموذج الطاقة
إضافة أخرى هي دعم إطار عمل إدارة نموذج الطاقة. هذا التغيير مخصص بشكل أساسي لمطوري ARM وkernel. فهو يوفر طبقة جديدة من معلومات استخدام الطاقة الموحدة من مصادر مختلفة، مثل شجرة الأجهزة أو برامج التشغيل. يتم التعامل مع استهلاك الطاقة وإعداد التقارير بشكل مختلف من خلال الأجهزة والبرامج على حد سواء. سيوفر إطار عمل إدارة نموذج الطاقة واجهة برمجة تطبيقات قياسية يمكن استخدامها بواسطة برنامج تشغيل آخر في النواة للوصول إلى معلومات حول استهلاك الطاقة. وهذا من شأنه نظريًا أن يسهل على مهندسي البرمجيات ومطوريها الحصول على المعلومات ذات الصلة من الأجهزة. يمكنك قراءة المزيد عن هذا الإطار في هذا الالتزام.
دعم مصادقة المؤشر ARM64
تحتاج كل حلول الأجهزة والبرامج ذات الصلة، خاصة على الهاتف المحمول، إلى بروتوكولات أمان قوية. هذا ما يقدمه Linux kernel 5.0 بدعم من ARM64 Pointer Authentication. نظرًا لأن معظم الهواتف الذكية تحتوي على شرائح تعتمد على ARM64، فمن المهم ألا يتمكن المهاجمون من استغلال المؤشرات، والتي يتم استخدامها في Linux kernel للوصول إلى عناوين الذاكرة. يقوم بروتوكول المصادقة الجديد بمقارنة المؤشرات بالمفاتيح السرية. ستحاول مصادقة المؤشر تجنب البرمجة الموجهة للعودة (ROP) وأنواع أخرى من الهجمات.
هناك الكثير من التحديثات لنواة Linux 5.0 التي لم نغطيها. معظمها لا يعني الكثير بالنسبة لأجهزة Android، ولهذا السبب كان علينا اختيار سجل التغيير بعناية. إذا كنت تريد رؤية "سجل التغيير" كاملاً، فراجع ذلك فورونيكس تغطية.
بفضل مطور XDA المعترف به flar2 للمساعدة في هذه المادة.