يحتوي هذا المستند على أسئلة شائعة عن نواة Android، ويُشار إليها أيضًا باسم نواة Generic Kernel Image (GKI). إذا لم تكن معتادًا على مصطلحات GKI وGKI kernel، يُرجى الاطّلاع على نظرة عامة على Kernel.
هل يمكن تغيير قوائم رموز واجهة وحدة المعالجة المركزية (KMI) في نواة مستقرة؟
يمكن إضافة التغييرات التي لا تؤثّر في واجهة برمجة التطبيقات الحالية لنظام التشغيل KMI إلى النوى التي تم تجميدها. وتشمل هذه التغييرات دوالّ جديدة تم تصديرها وإدخالات جديدة في قائمة الرموز. لمعرفة التفاصيل، يُرجى الاطّلاع على إدارة قوائم الرموز.
هل يمكنني تغيير البنى التي تستخدمها وحدات المورّدين في نواة مستقرة؟
لا يمكن تغيير البنى التي تشكّل جزءًا من واجهة KMI في النوى التي تحتوي على واجهة KMI مجمّدة. قبل تجميد نموذج KMI، يمكن تغيير هذه الهياكل.
هل يمكنني تغيير النواة ما دامت لا تؤدي إلى إيقاف التوافق مع الثنائي أو المصدر؟
يمكن إجراء التغييرات التي لا تؤثّر في KMI على النحو الموضّح في تصحيحات الخاصة بنظام التشغيل Android.
كيف يعالج GKI إعدادات kernel؟
للحصول على معلومات عن إعدادات kernel، يُرجى الرجوع إلى التغييرات على gki_defconfig.
كيف يمكنني التعامل مع إصلاحات الأخطاء في الإصدارات السابقة من أجل عمليات الاستبدال في وحدات GKI الحالية؟
إذا أنشأت وحدة مورّد استنادًا إلى برنامج تشغيل في النواة الشائعة لنظام التشغيل Android (ACK)، يكون عليك التأكّد من نشر إصلاحات الأخطاء من المصدر الرئيسي وACK في وحدتك. بشكل عام، من الأفضل استخدام نواة GKI و وحدات GKI بدون تعديل حتى تقدّم Google هذه التحديثات باستمرار.
هل هناك اختبارات خاصة ببرنامج GKI؟
هناك اختبارات مجموعة اختبارات المورّد (VTS) التي تتحقّق من تثبيت إصدار GKI معتمَد، بالإضافة إلى فرض متطلبات GKI لكل إصدار. على سبيل المثال، تتوفّر اختبارات VTS لنظام التشغيل Android 12 لإصدار 3 من عنوان التمهيد وللتحقّق من توفّر الأقسام المطلوبة في جهاز يعمل بالإصدار 5.10 من نواة النظام.
كيف يمكنني إنشاء ملف القسم defconfig للمشروع لإصدارات الأجهزة؟
تستخدم العديد من الأجهزة المتوافقة مع GKI مقتطفًا للإعدادات لوصف خيارات الإعداد
اللازمة، بالإضافة إلى gki_defconfig
، لإنشاء وحدات المورّدين.
تشمل الأمثلة التي تشكّل جزءًا من قاعدة بيانات ACK كلّ من Cuttlefish وDB845c.
لا تتوفّر طريقة لتجنُّب بعض الفحص اليدوي لخيارات الضبط
لتحسين المقتطف، ولكن scripts/diffconfig
من مصادر النواة
مفيد لمقارنة نتائج gki_defconfig
و
gki_defconfig+device.fragment
.
هل هناك حل بديل لعلاج modprobe للفاصلين - و_ على أنّهما متكافئان؟
تحتوي
صفحة man الخاصة ببرنامج modprobe
على هذا الوصف: "modprobe
يضيف
أو يزيل وحدة من نواة Linux بشكل ذكي: يُرجى العلم أنّه من أجل الراحة، ليس هناك اختلاف بين _ و- في أسماء الوحدات (يتم تنفيذ تحويل تلقائي للشرطة المائلة)." يلتزم فريق GKI بالاصطلاح العادي في المصدر، لذا يجب أن تأخذ أدوات المورّدين أو اصطلاحات تسمية الوحدات هذا الالتزام في الاعتبار.
كيف يمكنني تفعيل debugfs للاستخدام الداخلي؟
لمعرفة تفاصيل عن تفعيل debugfs، يُرجى الاطّلاع على ميزات تصحيح أخطاء التطبيقات المُشغّلة في الخلفية التي تُزعج المستخدمين.
كيف يمكنني حلّ مشكلة عدم تطابق معرّفات ABI بين نواة GKI مع تفعيل إعدادات وحدة معيّنة؟
إنّ عدم تطابق معيار ABI بين نواة GKI وإعدادات الوحدة يمثّل تبعية ضمنية لإعدادات الوحدة، حيث يؤدي تفعيل وحدة إلى إنشاء ملف برمجي للإعدادات في صورة النواة الناتجة. يُرجى التواصل مع فريق ملف التمهيد لنظام Android (kernel-team@android.com) لتحديد مسارٍ للمضي قدمًا. بعد تحديد قائمة الرموز، أنشئ خطأً في نظام تتبُّع المشاكل وحمِّل تغييرًا في قائمة الرموز.
لديّ أجهزة متوافقة مع GKI 1.0 في الميدان تعمل بالنواة 5.4 التي تم إطلاقها مع Android 11 و12. ما هي خيارات ترقية النواة المتاحة، وكيف يمكنني اختبار هذه الأجهزة عند الترقية إلى Android 12 و13؟
راجِع جدول التوافق للحصول على قائمة بإصدارات النواة المتوافقة مع إصدارات الإطلاق والترقية. في ما يلي مثالان على الترقية:
المثال 1: إذا كان المستخدم يمتلك جهازًا يعمل بالإصدار 11 من نظام التشغيل Android مع ملف برمجي لنظام التشغيل
android11-5.4
(GKI 1.0)،
يمكنه اختيار أي من الخيارات التالية عند الترقية إلى الإصدار 12 من نظام التشغيل Android:
الترقية إلى نواة
android12-5.10
GKI 2.0 (ننصح بشدة بذلك)احتفظ بإصدار
android11-5.4
من نواة النظام.عليك الترقية إلى نواة
android12-5.4
.
المثال 2: إذا كان المستخدم يمتلك جهازًا يعمل بنظام التشغيل Android 12 باستخدام إما ملف تعريف ال kernel android12-5.4
أو android12-5.10
، يمكنه اختيار أي من الخيارات التالية عند الترقية إلى Android 13:
الترقية إلى الإصدار 2.0 من نواة GKI على
android13-5.10
أوandroid13-5.15
(ننصح بشدة بذلك)احتفظ بنواة
android12-5.4
GKI 1.0.احتفظ بنواة
android12-5.10
GKI 2.0.
بالنسبة إلى اختبار الامتثال لمعايير Treble، ننصحك بتنفيذ أحد الإجراءين التاليين:
استبدِل نواة الشريك بنواة GKI 1.0 المعتمَدة (
android11-5.4
أوandroid12-5.4
).أن يتم شحن الجهاز مع نواة GKI 2.0 المعتمَدة (
android12-5.10
أوandroid13-5.10
أوandroid13-5.15
) استنادًا إلى اختيارك
يمكنك تنزيل إصدارات GKI 2.0 من إصدارات ملف Generic Kernel Image (GKI) الإصدارات.