تستند نواة Android إلى نواة Linux ذات الدعم الطويل الأمد (LTS) من المصدر الأصلي . في Google، يتم دمج نِوى LTS مع تصحيحات خاصة بنظام Android لتشكيل نِوى Android الشائعة (ACKs).
يتم إنشاء نِوى ACK من مستودع kernel/common. هذا المستودع هو مجموعة فرعية من نواة Linux من المصدر الأصلي، مع تصحيحات إضافية خاصة بنظام Android.
يُطلق على نِوى ACK التي تحمل الإصدار 5.10 والإصدارات الأحدث أيضًا اسم *نِوى صور النواة العامة (GKI). تتيح نِوى GKI فصل رمز النواة الأساسية العامة غير المحدّد للأجهزة ووحدات GKI عن وحدات البائع الخاصة بالأجهزة.
يتم تفعيل التفاعل بين نواة GKI ووحدات البائع من خلال واجهة وحدة النواة (KMI) التي تتألف من قوائم الرموز التي تحدّد الدوال والبيانات العامة المطلوبة من وحدات البائع. يوضّح الشكل 1 بنية نواة GKI ووحدة البائع:

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