الأسئلة الشائعة حول نواة Android

يحتوي هذا المستند على أسئلة شائعة عن نواة Android، المعروفة أيضًا باسم نواة Generic Kernel Image (GKI). إذا لم تكن معتادًا على مصطلحات GKI وGKI kernel، يُرجى الرجوع إلى نظرة عامة على Kernel.

هل يمكن تغيير قوائم رموز واجهة وحدة المعالجة المركزية (KMI) في نواة مستقرة؟

يمكن إضافة التغييرات التي لا تؤثّر في واجهة برمجة التطبيقات الحالية لنظام التشغيل KMI إلى النوى التي تم تجميدها. وتشمل هذه التغييرات الدوال التي تم تصديرها وإدخالات قائمة الرموز الجديدة. لمعرفة التفاصيل، يُرجى الاطّلاع على إدارة قوائم الرموز.

هل يمكنني تغيير البنى التي تستخدمها وحدات المورّدين في نواة مستقرة؟

لا يمكن تغيير البنى التي تشكّل جزءًا من واجهة KMI في النوى التي تحتوي على واجهة KMI مجمّدة. قبل تجميد نموذج KMI، يمكن تغيير هذه الهياكل.

هل يمكنني تغيير النواة ما دامت لا تؤدي إلى إيقاف التوافق مع الثنائي أو المصدر؟

يمكن إجراء التغييرات التي لا تؤثّر في KMI على النحو الموضّح في تصحيحات الخاصة بنظام التشغيل Android.

كيف يتعامل GKI مع إعدادات النواة؟

للحصول على معلومات عن ضبط النواة، يمكنك الاطّلاع على التغييرات على 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، يُرجى الاطّلاع على ميزات تصحيح أخطاء التطبيقات المُشغّلة في الخلفية التي تُزعج المستخدمين.

كيف يمكنني حل مشكلة واجهات التطبيق الثنائية (ABI) غير المتطابقة بين نواة GKI مع تفعيل إعدادات وحدة معيّنة؟

إنّ واجهات ABI غير المتطابقة بين نواة GKI وإعدادات الوحدة تمثّل تبعية إعدادات الوحدة الضمنية، حيث يؤدي تفعيل إحدى الوحدات إلى تضمين إعدادات ثنائية في صورة النواة الناتجة. يُرجى التواصل مع فريق ملف التمهيد لنظام Android (kernel-team@android.com) لتحديد مسارٍ للمضي قدمًا. بعد تحديد قائمة الرموز، أنشئ خطأً في نظام تتبُّع المشاكل وحمِّل تغييرًا في قائمة الرموز.

لديّ أجهزة متوافقة مع GKI 1.0 في المجال تستخدم النواة 5.4 التي تم إطلاقها مع الإصدارَين Android 11 وAndroid 12. ما هي خيارات ترقية النواة المتاحة، وكيف يمكنني اختبار هذه الأجهزة عند الترقية إلى Android 12 وAndroid 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 مزوّدًا إما بالنواة 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) الإصدارات.