نظرة عامة على Kernel

يعتمد Android kernel على نواة Linux طويلة المدى المدعومة (LTS) المنبثقة الموجودة في. في Google ، يتم دمج نواة LTS مع تصحيحات خاصة بنظام Android لتشكيل ما يُعرف باسم Android Common Kernels (ACKs) .

تُعرف ACKs الأحدث (الإصدار 5.4 وما بعده) أيضًا باسم نواة GKI لأنها تدعم فصل رمز Core Kernel العام المحايد للأجهزة والوحدات النمطية GKI غير المحددة للأجهزة. تتفاعل نواة GKI مع وحدات البائعين الخاصة بالأجهزة التي تحتوي على نظام على شريحة (SoC) ورمز خاص باللوحة. يتم تمكين التفاعل بين نواة GKI ووحدات البائع من خلال واجهة وحدة Kernel (KMI) التي تتكون من قوائم الرموز التي تحدد الوظائف والبيانات العامة التي تتطلبها وحدات البائع. يوضح الشكل 1 بنية GKI kernel ووحدة البائع: نواة GKI وبنية وحدة البائع

الشكل 1. نواة GKI وبنية وحدة البائع

مسرد Kernel

يحتوي هذا القسم على المصطلحات المستخدمة في جميع وثائق kernel.

أنواع النواة

Android Common Kernel (ACK)
نواة مصب من نواة LTS وتتضمن تصحيحات تهم مجتمع Android لم يتم دمجها في نواة Linux الرئيسية أو نواة طويلة الأجل (LTS). تُعرف ACKs الأحدث (الإصدار 5.4 وما بعده) أيضًا باسم نواة GKI لأنها تدعم فصل كود Kernel العام المحايد للأجهزة ووحدات GKI غير المحددة للأجهزة.
نواة مشروع Android مفتوح المصدر (AOSP)
انظر Android Common Kernel.
ميزة Kernel
نواة يتم ضمان تنفيذ ميزات إصدار النظام الأساسي لها. على سبيل المثال ، في Android 12 ، كان نواة الميزة android12-5.4 و android12-5.10. لا يمكن نقل ميزات Android 12 إلى 4.19 نواة ؛ ستكون مجموعة الميزات مشابهة لجهاز تم إطلاقه بـ 4.19 على R وتم ترقيته إلى S).
نواة أساسية عامة
جزء نواة GKI المشترك عبر جميع الأجهزة.
نواة صورة النواة العامة (GKI)
أي نواة أحدث (5.4 وما فوق) ACK (حاليًا aarch64 فقط). تتكون هذه النواة من جزأين: نواة GKI الأساسية مع رمز مشترك عبر جميع الأجهزة ووحدات GKI kernel التي طورتها Google والتي يمكن تحميلها ديناميكيًا على الأجهزة حيثما أمكن ذلك.
نواة واجهة وحدة Kernel (KMI)
انظر نواة GKI .
قم بتشغيل Kernel
نواة صالحة لتشغيل جهاز لإصدار نظام أندرويد معين. على سبيل المثال ، في Android 12 ، كانت نواة الإطلاق الصالحة 4.19 و 5.4 و 5.10.
نواة طويلة المدى المدعومة (LTS)
نواة Linux مدعومة لمدة 2 إلى 6 سنوات. يتم إصدار نواة LTS مرة واحدة سنويًا وهي الأساس لكل من ACK من Google.

أنواع الفروع

فرع نواة ACK KMI
الفرع الذي صنعت من أجله نواة GKI . على سبيل المثال ، android12-5.10 و android13-5.15.
الروبوت الرئيسي
فرع التطوير الأساسي لميزات Android. عندما يتم الإعلان عن نواة LTS جديدة في المنبع ، يتم تشعب نواة GKI الجديدة المقابلة من android-mainline.
لينكس الرئيسي
فرع التطوير الأساسي لنواة Linux المنبع ، بما في ذلك نواة LTS.

شروط اخرى

صورة التمهيد المعتمدة
يتم تسليم النواة في شكل ثنائي ( boot.img ) وميض على الجهاز. تم اعتماد هذه الصورة بمعنى أنها تحتوي على شهادات مضمنة حتى تتمكن Google من التحقق من أن الجهاز مزود بنواة معتمدة من Google.
وحدة النواة القابلة للتحميل ديناميكيًا (DLKM)
وحدة يمكن تحميلها ديناميكيًا أثناء تمهيد الجهاز حسب احتياجات الجهاز. وحدات GKI والمورد كلاهما نوعان من DLKM. يتم إصدار .ko في شكل .ko ويمكن أن تكون محركات أو يمكنها تقديم وظائف kernel أخرى.
مشروع GKI
مشروع Google يعالج تجزئة kernel عن طريق فصل وظائف النواة الأساسية المشتركة من SoC الخاص بالمورد ودعم اللوحة إلى وحدات قابلة للتحميل.
صورة نواة عامة (GKI)
صورة تمهيد معتمدة من Google تحتوي على نواة GKI مبنية من شجرة مصدر ACK ومناسبة ليتم وميضها إلى قسم التمهيد بجهاز Android.
KMI
واجهة بين نواة GKI ووحدات البائع تسمح بتحديث وحدات البائع بشكل مستقل عن نواة GKI. تتكون هذه الواجهة من وظائف kernel والبيانات العامة التي تم تحديدها على أنها تبعيات البائع / OEM باستخدام قوائم الرموز لكل شريك.
وحدة نواة GKI
وحدات قابلة للتحميل ديناميكيًا تم إنشاؤها بواسطة Google ويمكن تحميلها ديناميكيًا على الأجهزة عند الاقتضاء. تم إنشاء هذه الوحدات باستخدام نواة GKI ويتم تسليمها جنبًا إلى جنب مع GKI كصورة system_dlkm . يتم توقيع وحدات GKI kernel بواسطة Google باستخدام زوج مفاتيح وقت إنشاء kernel وهي متوافقة فقط مع النواة الأساسية العامة التي تم إنشاؤها باستخدامها. وحدات GKI kernel هي نوع من ملفات DLKM
.
وحدة البائع
وحدة خاصة بالأجهزة طورها شريك وتحتوي على SoC ووظائف خاصة بالجهاز. وحدة البائع هي نوع من وحدة kernel القابلة للتحميل ديناميكيًا.

ماذا بعد؟