تعتمد نواة Android على إصدار نواة الدعم الطويل الأمد (LTS) في Linux في Google، الدعم الطويل الأمد (LTS) يتم دمج النواة مع التصحيحات الخاصة بنظام Android لتكوين ما يُعرف باسم النواة المشتركة (ACKs) لنظام التشغيل Android:
وتُعرف أيضًا ملفات ACK الأحدث (الإصدار 5.4 والإصدارات الأحدث) باسم نواة GKI. تدعم نواة GKI فصل رمز النواة الأساسية العام غير المتوافق مع الأجهزة وحدات GKI من خاص بالأجهزة وحدات المورّد:
تتفاعل نواة GKI مع وحدات المورد الخاصة بالأجهزة والتي تحتوي على شريحة (SoC) ورمز خاص باللوحة. يبلغ التفاعل بين نواة GKI ووحدات المورد التي تم تفعيلها بواسطة واجهة وحدة النواة (KMI) التي تتألف من قوائم رموز تحدّد والدوال والبيانات العالمية التي تطلبها وحدات الموردين. يوضح الشكل 1 نواة GKI والمورّد بنية الوحدة:
مسرد مصطلحات النواة
يحتوي هذا القسم على المصطلحات المستخدمة في جميع مستندات النواة.
أنواع النواة
- النواة المشتركة لنظام التشغيل Android (ACK)
- هي النواة التي يتم إطلاقها بعد نواة قناة الدعم الطويل الأمد (LTS) وتتضمّن رموزًا تصحيحية مهمة لنظام Android لم يتم دمجها في نواة بالخط الرئيسي لنظام Linux أو نواة متوافقة طويلة الأجل (LTS). تُعرف ملفات ACK الأحدث (الإصدار 5.4 والإصدارات الأحدث) أيضًا باسم نواة GKI لأنّها تتوافق مع فصل رمز Kernel العام غير المتوافق مع الأجهزة ووحدات GKI غير المتوافقة مع الأجهزة.
- نواة المشروع المفتوح المصدر لنظام Android (AOSP)
- يُرجى الاطّلاع على النواة المشتركة لنظام Android.
- نواة الميزات
- هي النواة التي يمكن ضمان تنفيذ ميزات إصدار النظام الأساسي لها. بالنسبة على سبيل المثال، في Android 12، كانت النواة المخصّصة لهذه الميزة هما android12-5.4 وandroid12-5.10. لا يمكن نقل ميزات Android 12 إلى الإصدار 4.19 من النواة. فستكون مجموعة الخصائص مشابهة إلى جهاز يعمل بالإصدار 4.19 من نظام التشغيل Android 11 وتمت ترقيته إلى Android 12.
- النواة الأساسية العامة
- الجزء من نواة GKI هو الجزء المشترك في جميع الأجهزة.
- نواة عامة لصورة النواة (GKI)
- أي إصدار أحدث (الإصدار 5.4 والإصدارات الأحدث) ACK kernel (حاليًا aarch64 فقط). هذا النمط يتكون النواة من جزأين: نواة GKI الأساسية مع رمز مشترك بين جميع الأجهزة ووحدات GKI. طوّرتها Google ويمكن تحميلها ديناميكيًا على الأجهزة عند اللزوم.
- النواة لواجهة وحدة النواة (KMI)
- يُرجى الاطّلاع على نواة GKI.
- تشغيل Kernel
- النواة هي نواة صالحة لإطلاق جهاز لإصدار نظام أساسي معيّن من Android. بالنسبة على سبيل المثال، في نظام Android 12، كانت نواة الإطلاق الصالحة هي 4.19 و5.4 و5.10.
- نواة متوافقة طويلة الأمد (LTS)
- نواة Linux متاحة للاستخدام من عامَين إلى 6 سنوات. الدعم الطويل الأمد (LTS) يتم إطلاق النواة مرة واحدة سنويًا وهي الأساس لكل ACK من Google
أنواع الفروع
- فرع النواة في ACK KMI
- الفرع الذي تم إنشاء نواة GKI فيها: على سبيل المثال، android12-5.10 وandroid13-5.15.
- خط Android الرئيسي
- الفرع الأساسي لتطوير ميزات Android عند إجراء الدعم الطويل الأمد (LTS) الجديد تم الإعلان عن إطلاق النواة kernel، فإن النواة الجديدة في GKI تشعّبها من android-mainline.
- نظام التشغيل Linux الرئيسي
- فرع التطوير الأساسي لنواة Linux الرئيسية، بما في ذلك نواة قناة الدعم الطويل الأمد (LTS)
مصطلحات أخرى
- صورة التشغيل المُعتمَدة
- النواة التي تم تسليمها في شكل ثنائي (
boot.img
) ومضت على الجهاز. هذه الصورة معتمَدة، بمعنى أنّها تحتوي على شهادات مضمّنة لتتمكّن Google من تنفيذ ما يلي: التأكد من شحن الجهاز بنواة معتمدة من Google. - وحدة نواة قابلة للتحميل ديناميكيًا (DLKM)
- وحدة يمكن تحميلها ديناميكيًا أثناء تشغيل الجهاز بناءً على احتياجات
الخاص بك. تعتبر وحدات GKI ووحدات المورّدين نوعَين من واجهات DLKM. تم إصدار DLKM في
.ko
ويمكن أن تكون برامج تشغيل أو يمكنها تقديم وظائف نواة أخرى. - مشروع GKI
- أحد مشاريع Google يعالج تقسيم النواة من خلال فصل النواة الأساسية المشتركة. وظائف بدءًا من دعم المنظومة على رقاقة (SoC) واللوحة الخاصة بالمورِّد إلى وحدات قابلة للتحميل.
- صورة Kernel عامة (GKI)
- صورة تشغيل معتمَدة من Google وتحتوي على نواة GKI kernel تم إنشاؤها من شجرة مصدر ACK مناسبة لتشغيلها في قسم التمهيد جهاز Android.
- KMI
- واجهة بين نواة GKI ووحدات المورّدين تسمح بالمورّد تحديثًا مستقلاً عن نواة GKI. تتكون هذه الواجهة من نواة والبيانات العالمية التي تم تحديدها باعتبارها تبعيات للبائعين/المصنّعين الأصليين باستخدام قوائم الرموز لكل شريك.
- وحدات GKI
- وحدات Kernel صممتها Google ويمكن تحميلها ديناميكيًا على الأجهزة حيثما ينطبق ذلك.
تم إنشاء هذه الوحدات كعناصر في نواة لوحة المفاتيح العامة (GKI) ويتم تقديمها.
إلى جانب GKI كأرشيف
system_dlkm_staging_archive.tar.gz
. وحدات GKI يتم توقيعها من قِبل Google باستخدام مفتاحَي وقت إصدار النواة، وهي متوافقة فقط مع أداة GKI التي تم إنشاؤها باستخدامها. - وحدة المورّد
- وحدة خاصة بالأجهزة طوّرها أحد الشركاء وتحتوي على منظومة على رقاقة (SoC) خاصة بالجهاز الأخرى. الوحدة النمطية للمورد هي نوع من وحدات النواة القابلة للتحميل ديناميكيًا.
ما هي الخطوات التالية؟
- إذا كنت مبتدئًا في مجال تطوير نواة Android، يمكنك البدء بقراءة التالي:
- النواة الثابتة طويلة المدى - معلومات أساسية عن نواة قناة الدعم الطويل الأمد (LTS) التي تغذي ملفات ACK
- نواة Android الشائعة - معلومات أساسية حول ACKs
- إذا كنت مبتدئًا في مجال تطوير نواة GKI، يمكنك البدء بالقراءة تطوير GKI:
- إذا كنت تستخدم إصدار kernel من الإصدار 4.19 أو أقدم، وتبحث عن وثائق ذات صلة، راجع السابق kernels (<=4.19) نظرة عامة.