عملية إصدار صورة النواة (GKI) العامة

يصف هذا المستند كيفية إصدار "مبادرة أخبار Google"، بما في ذلك إصدارات الطوارئ الأسبوعية والشهرية وخارج النطاق. والهدف من هذا المستند هو تقديم إرشادات للمصنّعين الأصليين للأجهزة حول كيفية الحصول على GKI وكذلك خطوات الإصلاحات في حالات الطوارئ خارج النطاق. يمكن للمصنّعين الأصليين للأجهزة أيضًا استخدام دليل تطوير GKI لمعرفة مزيد من المعلومات حول كيفية العمل مع فريق Android Kernel لتحسين نواة GKI لمنتجاتهم.

وتيرة إصدار GKI

يتم إصدار لوحة التحكّم في المفاتيح (GKI) وفقًا لسلسلة نقاط الوتيرة الشهرية بعد إيقاف خوارزمية KMI.

إصدار Android 13 و14 و15 GKI

لا ينطبق الجدول التالي إلا على android13-5.10 وandroid13-5.15 وandroid14-6.1.

الإصدارات المعتمدة شهريًا من GKI تاريخ الموعد النهائي لتسجيل الوصول تاريخ جاهزية التحميل المُسبَق في GKI هل تم التأكيد؟
أكتوبر 14 تشرين الأول (أكتوبر) 2022 31 تشرين الأول (أكتوبر) 2022 نعم
نوفمبر 14 تشرين الثاني (نوفمبر) 2022 30 تشرين الثاني (نوفمبر) 2022 نعم
ديسمبر 9 كانون الأول (ديسمبر) 2022 21 كانون الأول (ديسمبر) 2022 نعم
يناير 17 كانون الثاني (يناير) 2023 31 كانون الثاني (يناير) 2023 نعم
فبراير 15 شباط (فبراير) 2023 28 شباط (فبراير) 2023 نعم
مارس 15 آذار (مارس) 2023 31 آذار (مارس) 2023 نعم
أبريل 13 نيسان (أبريل) 2023 28 نيسان (أبريل) 2023 نعم
مايو 17 أيار (مايو) 2023 31 أيار (مايو) 2023 نعم
يونيو 15 حزيران (يونيو) 2023 30 حزيران (يونيو) 2023 نعم
يوليو 18 تموز (يوليو) 2023 31 تموز (يوليو) 2023 نعم
أغسطس 16 آب (أغسطس) 2023 ‫31 آب (أغسطس) 2023 نعم
سبتمبر 14 أيلول (سبتمبر) 2023 29 أيلول (سبتمبر) 2023 نعم
أكتوبر 18 تشرين الأول (أكتوبر) 2023 31 تشرين الأول (أكتوبر) 2023 نعم
نوفمبر 10 تشرين الثاني (نوفمبر) 2023 30 تشرين الثاني (نوفمبر) 2023 نعم
ديسمبر 7 كانون الأوّل (ديسمبر) 2023 22 كانون الأول (ديسمبر) 2023 نعم
يناير 16 يناير 2024 31 يناير 2024 نعم
فبراير 13 فبراير 2024 29 فبراير 2024 نعم
مارس ‫13 آذار (مارس) 2024 29 مارس 2024 نعم
أبريل 16 أبريل 2024 30 أبريل 2024 نعم
مايو 14 مايو 2024 31 مايو 2024 نعم
يونيو 12 يونيو 2024 28 يونيو 2024 نعم
يوليو 16 يوليو 2024 31 يوليو 2024 نعم
أغسطس 15 أغسطس 2024 30 أغسطس 2024 نعم
سبتمبر 17 سبتمبر 2024 30 سبتمبر 2024 نعم
أكتوبر 15 تشرين الأول (أكتوبر) 2024 31 تشرين الأول (أكتوبر) 2024 نعم
نوفمبر 11 تشرين الثاني (نوفمبر) 2024 27 تشرين الثاني (نوفمبر) 2024 نعم
ديسمبر 6 كانون الأول (ديسمبر) 2024 23 كانون الأول (ديسمبر) 2024 نعم

اعتبارًا من كانون الثاني (يناير) 2024، سنستأنف إصدارات android14-5.15 الشهرية وفقًا لوتيرة الاشتراك الشهرية المحدّدة في الجدول أدناه. سيتّبع android15-6.6 وتيرة طرح التطبيقات نفسها اعتبارًا من يوليو 2024.

الإصدارات المعتمدة شهريًا من GKI تاريخ الموعد النهائي لتسجيل الوصول تاريخ جاهزية التحميل المُسبَق في GKI هل تم التأكيد؟
يناير 16 يناير 2024 31 يناير 2024 نعم
فبراير 13 فبراير 2024 29 فبراير 2024 نعم
مارس 4 مارس 2024 15 مارس 2024 نعم
أبريل ‫1 نيسان (أبريل) 2024 17 أبريل 2024 نعم
مايو 1 مايو 2024 17 مايو 2024 نعم
يونيو 3 يونيو 2024 17 يونيو 2024 نعم
يوليو 1 يوليو 2024 15 يوليو 2024 نعم
أغسطس 1 آب (أغسطس) 2024 16 آب (أغسطس) 2024 نعم
سبتمبر 2 سبتمبر 2024 16 سبتمبر 2024 نعم
أكتوبر 1 أكتوبر 2024 14 تشرين الأول (أكتوبر) 2024 نعم
نوفمبر 1 تشرين الثاني (نوفمبر) 2024 15 تشرين الثاني (نوفمبر) 2024 نعم
ديسمبر 2 كانون الأول (ديسمبر) 2024 16 كانون الأول (ديسمبر) 2024 نعم

إصدار Android 12 GKI

بعد أيار (مايو) 2024، يتم نشر إصدارات android12-5.10 GKI بوتيرة ربع سنوية ويتم نشرها في منتصف الشهر. لا يسري الجدول التالي إلا على android12-5.10.

الإصدارات المعتمدة شهريًا من GKI تاريخ الموعد النهائي لتسجيل الوصول تاريخ جاهزية التحميل المُسبَق في GKI هل تم التأكيد؟
يوليو 3 تموز (يوليو) 2023 14 تموز (يوليو) 2023 نعم
سبتمبر 1 أيلول (سبتمبر) 2023 15 أيلول (سبتمبر) 2023 نعم
نوفمبر 3 تشرين الثاني (نوفمبر) 2023 17 تشرين الثاني (نوفمبر) 2023 نعم
يناير 5 يناير 2024 19 يناير 2024 نعم
مارس 4 مارس 2024 15 مارس 2024 نعم
مايو 1 مايو 2024 17 مايو 2024 نعم
أغسطس 1 آب (أغسطس) 2024 16 آب (أغسطس) 2024 نعم
نوفمبر 1 تشرين الثاني (نوفمبر) 2024 15 تشرين الثاني (نوفمبر) 2024 نعم
فبراير 3 شباط (فبراير) 2025 17 شباط (فبراير) 2025 نعم

إصدار GKI صالح للمصنّعين الأصليين

يمكن للمصنّعين الأصليين للأجهزة استخدام GKI إصدار Android GKI الصادر مؤخرًا. يمكن للمصنّعين الأصليين للأجهزة العمل باستخدام إصدارات معتمَدة من GKI شرط أن تكون متوافقة مع متطلبات "الدعم الطويل الأمد (LTS)" في "نشرة أمان Android " (ASB).

إصدارات التطوير الأسبوعية

يتم اختبار الإصدارات باستخدام الحبَّار للتأكّد من اجتيازها الحد الأدنى من الجودة.

تتوفر برامج GKI الثنائية للخدمة الذاتية من ci.android.com عند دمج التغييرات. ولن يتم اعتماد الإصدارات الأسبوعية، ولكن يمكن استخدامها كمرجع للتطوير والاختبار. لا يمكن استخدام الإصدارات الأسبوعية لإصدارات أجهزة الإنتاج للمستخدمين النهائيين.

الإصدارات المُعتمَدة الشهرية

تحتوي إصدارات GKI الشهرية على boot.img تم اختباره وتتضمّن شهادة أدرجتها Google لإثبات أنّ البرامج الثنائية تم إنشاؤها من مصدر معروف لرمز مصدر.

في كلّ شهر، يتم اختيار مرشح شهري لإصدار GKI (غير معتمَد) بعد تاريخ الإيقاف النهائي لتأكيد السلامة، وهو عادةً الإصدار الأسبوعي الثاني من ذلك الشهر. بعد اختيار مرشّح الإصدار الشهري، لن يتم قبول التغييرات الجديدة في إصدار ذلك الشهر. وخلال فترة النافذة المغلقة، لا يمكن معالجة سوى إصلاحات الأخطاء التي تسبب إخفاقًا في الاختبار. يخضع المرشح لإصدار التطبيق لعملية ضمان الجودة، كما هو موضّح في قسم تأهيل GKI، لضمان اجتياز اختبارات الامتثال في إصدار GKI+GKI باستخدام جهاز مرجعي بالإضافة إلى الحبار.

المخطط الزمني لوتيرة إصدار GKI الشكل 1. المخطط الزمني لإصدار GKI

عملية إعادة المراجعة في حالات الطوارئ

تشير عملية إعادة التثبيت إلى عملية إعادة دمج برنامج ثنائي وإعادة إنشاؤه وإعادة اختباره وإعادة اعتماده بعد إصدار النواة في GKI. يمكنك طلب إعادة تسجيل برنامج ثنائي معتمد في أي من الحالات التالية:

  • لتعديل قائمة رموز، اتّبِع الخطوات التالية:
  • لتطبيق إصلاح لأحد الأخطاء، بما في ذلك الأخطاء التي يتم العثور عليها أثناء الموافقة على اختبار مشغِّل شبكة الجوّال.
  • لإضافة عنصر جذب للمورّدين
  • لتطبيق رمز تصحيح على ميزة حالية.
  • تطبيق رمز تصحيح الأمان (بعد 6 أشهر)

ويتم دمج التصحيحات الأمنية تلقائيًا في فرع إصدار لمدة تصل إلى 6 أشهر بعد إصدار الفرع. بعد انقضاء 6 أشهر، يجب طلب إعادة تثبيت لتطبيق رموز تصحيح الأمان على الفرع.

قبل طلب إعادة التثبيت، يُرجى ملاحظة الإرشادات التالية:

  • لا يُسمح بإعادة التثبيت إلا في فروع الإصدار بعد إطلاق الإصدار الأولي المتاح للجميع من الإصدار الشهري.

  • لا تُقبل طلبات إعادة التثبيت إلا لفرع إصدار معيّن لمدة ستة أشهر كحد أقصى بعد الإصدار العلني الأولي. وبعد ستة أشهر، تكون الفروع مؤهَّلة لإعادة التثبيت لعمليات تصحيح الأمان المذكورة في نشرة أمان Android فقط.

  • عندما تؤدي متطلبات قناة الدعم الطويل الأمد (LTS)، المحدّدة في نشرة أمان Android (ASB)، إلى عدم امتثال الفرع للفرع، سيتم إيقاف الفرع نهائيًا. لا نقبل طلبات إعادة التثبيت للفروع المتوقّفة. يتم تضمين تاريخ الإيقاف النهائي لفرع إصدار GKI في الملاحظات الشهرية لإصدار GKI ضمن الإصدارات. للتخطيط المستقبلي، يتم تعديل متطلبات الدعم الطويل الأمد (LTS) في أيار (مايو) وتشرين الثاني (نوفمبر) سنويًا. على سبيل المثال، لن يكون الفرع (5.10.177) من android12-5.10-2023-07 متاحًا لإعادة التثبيت بعد 1 مايو 2024، لأنّ android12-5.10-2023-07 الفرع (5.10.177) لا يلتزم بمتطلبات "الدعم الطويل الأمد (LTS)" وفقًا لمعايير ASB-2024-05.

  • لا تنطبق إعادة التثبيت إلا على إصلاحات الأخطاء العاجلة أو تحديثات قائمة الرموز أو لتطبيق تصحيح لإصلاح ميزة حالية.

  • ويجب دمج جميع التصحيحات التي تتم إضافتها إلى فرع الإصدار الشهري داخل الفرع الرئيسي لتطوير GKI. على سبيل المثال، إذا كانت هناك حاجة إلى تصحيح التصحيح لإعادة عرض android12-5.10-2022-09، يجب أن يكون قد سبق دمجه في android12-5.10.

  • وعليك اختيار التصحيحات من الفرع الرئيسي لتطوير GKI وتحميل التصحيح إلى فرع الإصدار الشهري.

  • وفي طلب إعادة التثبيت، يجب تحديد أولوية الطلب (حسب الإلحاح). ومن خلال هذه الأولوية، يمكن لفريق GKI مساعدة الشركاء بشكل أفضل وفي الوقت المناسب. بالنسبة إلى الطلبات المُهمّة أو الحساسة للوقت، ضَع علامة P0 على الأولوية. بالنسبة لطلبات P0 وP1، يجب عليك أيضًا تبرير درجة الاستعجال. يوضّح الجدول التالي تحديد أولوية الخطأ ووقت الحل (ESRT):

    درجة الأهمية ضريبة ESRT
    الأداة 0 يوما عمل
    الأداة 1 ‫5 أيام عمل
    الأداة 2 10 أيام عمل
    الأداة 3 15 يوم عمل
  • يجب إرسال طلب إعادة تسجيل منفصل لكل فرع من فروع الإصدار. على سبيل المثال، إذا كانت هناك حاجة إلى إعادة التثبيت لكلٍّ من android12-5.10-2022-08 وandroid12-5.10-2022-09، يجب إنشاء طلبَي إعادة إدخال.

  • بعد تقديم إصدار ووضع علامة "تم الإصلاح" على طلب إعادة التثبيت، يجب عدم إعادة فتح طلب إعادة التثبيت لإضافة المزيد من قوائم التغييرات (CLs). يجب إرسال طلب تعديل جديد إذا كانت هناك رموز تصحيح إضافية تحتاج إلى دمجها.

  • أضِف العلامات التالية لكل قائمة إحالات ناجحة قيد النظر. يتم حظر التقدم في طلب إعادة التثبيت بدون هذه المعلومات.

    • Bug: يجب إضافة معرّف الخطأ إلى رسالة الالتزام لكل CL.
    • Change-Id: يجب أن يكون مطابقًا لرقم تعريف التغيير لتغيير الفرع الأساسي.
  • إذا كان طلب إعادة المراجعة يتطلب ردّك، ولم تردّ خلال ثلاثة أيام عمل، سيتم خفض مستوى الأولوية بمقدار مستوى واحد (على سبيل المثال، سيتم خفض مستوى الأولوية P0 إلى P1). إذا لم تستجب لمدة أسبوعين، يتم وضع علامة لن يتم إصلاح (قديم) على الخطأ.

إرسال طلب إعادة التثبيت

يوضح الرسم التخطيطي التالي عملية إعادة التركيب. تبدأ العملية عندما يرسل شريك المصنّع الأصلي للجهاز (أنت) طلب إعادة التثبيت.

عملية إعادة المراجعة في حالات الطوارئ الشكل 2. عملية إعادة التثبيت

للمشاركة في عملية إعادة التثبيت:

  1. املأ نموذج طلب معلومات GKI Respin وتواصَل مع المدير التقني لحسابك في Google على الفور. يؤدي هذا النموذج إلى إنشاء خطأ لطلب إعادة تحديد GKI. تظهر لك أخطاء طلب إعادة التثبيت (لمقدِّم الطلب) وفريق "GKI" والأفراد المحدّدين الذين تضيفهم إلى قائمة "نسخة إلى" الخاصة بالخطأ.
    • إذا سبق لك حلّ المشكلة، يجب أن يوجّه الطلب إلى طلب التصحيح في "المراسلة عبر البريد الإلكتروني" (AOSP) حتى تتمكّن Google من مراجعته. إذا لم يكن إرسال التصحيح ممكنًا، يجب إرفاق التصحيح كملف نصي بالطلب.
    • إذا لم يصلك حل، يجب أن يتضمّن الطلب أكبر قدر ممكن من المعلومات، بما في ذلك رقم إصدار النواة (kernel) وسجلاته، ليتمكّن محرّك بحث Google من المساعدة في تصحيح الأخطاء.
  2. يراجع فريق Google GKI الطلب ويوافق عليه أو يحوّله إليك إذا احتاج إلى مزيد من المعلومات.
  3. بعد الاتفاق على حلّ المشكلة، يراجع رمز فريق Google GKI (CR+2) التغيير. تبدأ عملية المراجعة الإطار الزمني لـ ESRT. يدمج فريق GKI عملية الانحدار وينشئها ويجربها ويصادق على التغيير.
  4. تم إصدار البرنامج الثنائي على ci.android.com. وينتهي الإطار الزمني لـ ESRT ويصنِّف فريق Google GKI الطلب على أنّه "ثابت" ويشير إلى إصدار Respin. يتم أيضًا نشر إصدار Respin على صفحة بُنى إصدار نسخة Kernel العامة (GKI) العامة.

مؤهلات GKI

أنواع إصدارات GKI فرض الجودة Notes
أسبوعيًا اختبار الحبار
  • حذاء طويل
  • مجموعة فرعية من VTS
  • مجموعة فرعية من CTS
  • غير معتمد. فقط للاختبار و
    جهاز يتم عرضه.
  • لا يمكن استخدامها لتشغيل الأجهزة.
شهريًا (معتمد) اختبار الحبار
  • حذاء طويل
  • الإحالات الناجحة المحسّنة للعملاء المحتملين (VTS)
  • مجموعة أدوات اختبار التوافق (CTS)
مرجع اختبار الأجهزة
  • حذاء طويل
  • الإحالات الناجحة المحسّنة للعملاء المحتملين (VTS)
  • مجموعة أدوات اختبار التوافق (CTS)
إعادة التثبيت (معتمدة) اختبار الحبار
  • حذاء طويل
  • الإحالات الناجحة المحسّنة للعملاء المحتملين (VTS)
  • مجموعة فرعية من CTS
اختبار الأجهزة المرجعية
  • حذاء طويل
  • الإحالات الناجحة المحسّنة للعملاء المحتملين (VTS)
  • صُمِّمت هذه المنصة وفقًا لإصدار معتمد من GKI.
  • تم اعتماد الإصدار بعد التأهل.

مكان الحصول على عناصر التصميم

يمكن الحصول على عناصر لجميع الإصدارات من ci.android.com.

يمكنك العثور على مزيد من المعلومات عن CI، بما في ذلك نتائج الاختبار في لوحة بيانات Android Continuous Integration.

الأسئلة الشائعة

هل من الممكن إنشاء برنامج ثنائي جديد لتطبيق GKI بناءً على إصدار GKI من الإصدارات السابقة؟

نعم، تُعرَف هذه العملية باسم إعادة التثبيت. تتوفّر عملية إعادة التثبيت ما دام إصدار GKI الذي تم إصداره (الذي يتم طلب إعادة التثبيت عليه) متوافقًا مع متطلبات قناة الدعم الطويل الأمد (LTS) في نشرة أمان Android (ASB).

هل من الممكن إعادة إنتاج ثنائيات GKI؟

نعم، يُرجى الرجوع إلى المثال أدناه.

GKI 2.0
5.10 kernel prebuilts from build 7364300
https://ci.android.com/builds/submitted/7364300/kernel_aarch64/latest

لإعادة إنتاج المثال، نزِّل manifest_$id.xml ونفِّذ الأمر التالي:

repo init -u https://android.googlesource.com/kernel/manifest
mv manifest_7364300.xml .repo/manifests
repo init -m manifest_7364300.xml --depth=1
repo sync
# build the GKI images
# You may want to use LTO=thin to build faster for development
BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh
# (optional) build virtual platform modules
BUILD_CONFIG=common-modules/virtual-device/build.config.virtual_device.aarch64 build/build.sh

يمكنك استرداد نسخة عناصر GKI من "out/.../dist".

هل تم إنشاء برنامج GKI الثنائي (بما في ذلك رمز التصحيح الدوّار في حالات الطوارئ) استنادًا إلى أحدث قاعدة رموز برمجية؟

لا. تحتوي Respins فقط على تصحيحات أعلى من النواة المعتمدة شهريًا التي تم اختيارها. تحتوي هذه التغييرات على جميع إصلاحات أخطاء حظر الإطلاق التي تم الإبلاغ عنها حتى أي وقت من قِبل المصنّعين الأصليين للأجهزة باستخدام الإصدار الشهري الأساسي المقابل. انظر المثال التالي حول كيفية حدوث هذا النوع من السيناريوهات.

  • قرّر المصنّع الأصلي للجهاز والمصنّع الأصلي 2 استخدام إصدار GKI الثنائي اعتبارًا من تشرين الثاني (نوفمبر) 2021.
  • العثور على المشاكل التي تتطلب تصحيحات للدعم من المصنّعين الأصليين 1 و2. قد تكون هذه التصحيحات مختلفة أو قد تكون متطابقة.
  • تحتوي إعادة التثبيت التي تظهر أعلى البرنامج الثنائي لشهر تشرين الثاني (نوفمبر) 2021 على إصلاحات حظر الإطلاق التي أبلغ عنها كلّ من المصنّع الأصلي للجهاز 1 والمصنّع الأصلي 2 أثناء فترة إعادة التثبيت، ولكن لا شيء أكثر من ذلك.
  • يتم أيضًا تضمين المشاكل المذكورة في النقطة الثانية في إصدارات GKI الشهرية اللاحقة من خلال GKI.

تحتوي عملية إعادة الربط في تشرين الأول (أكتوبر) على جميع التصحيحات التي أرسلها المصنّعون الأصليون، ولكن تؤثر التصحيحات الأخرى التابعة للمصنّعين الأصليين لنا، لأنّها لم يتم اختبارها بشكل محدّد مع منتجاتنا. هل يمكن تضمين رمز التصحيح الخاص بنا فقط؟

لا يمكن تنفيذ ذلك. إنّ مسار إعادة التثبيت "حسب المصنّع الأصلي للجهاز" غير قابل للتوسّع حاليًا. وبدلاً من ذلك، يفحص فريق GKI كل تغيير فردي يدخل في عمليات إعادة التثبيت، ويختبر التغييرات باستخدام جميع الأجهزة المتاحة قبل إنشاء إصدار جديد. إذا اكتشف فريق GKI أنّ المشكلة متعلقة بالمصنّع الأصلي للجهاز أو الجهاز أو الطراز، يمكن لفريق GKI التأكّد من أنّ الرمز الذي أضافه التغيير لا يتم تنفيذه إلا على الجهاز أو الطراز أو رمز التخزين التعريفي المتأثّر.

تكمن الفائدة الرئيسية من استخدام الموارد الموحّدة في أنّ كل جهاز يستخدم قاعدة الإصدار نفسها يستفيد من بعضه البعض، خاصةً إذا كانت الأخطاء التي يكتشفونها عامة وتنطبق على جميع المستخدمين. تعد أخطاء النواة الأساسية الموجودة في اختبار شركة النقل مثالاً محددًا على هذا المفهوم.

هل هناك مواقف توفِّر فيها Google معلومات محدّدة حول رموز تصحيح المصنّعين الأصليين وسيناريوهات المشاكل، حتى يتمكّن المصنّعون الأصليون للأجهزة من تقييم تأثير ومخاطر تنفيذ رموز التصحيح مع منتجاتهم؟

لن تضيف Google تغييرًا إلى أي إعادة بيانات إلا بعد فهم المشكلة وجمع كل التفاصيل. يظهر ذلك في سجل التغييرات (commit message). لا تكشف Google عن الجهاز المحدد الذي يؤثر عليه، ولكن يمكن للمصنّعين الأصليين للأجهزة دائمًا العثور على وصف المشكلة وحلها في سجل التغييرات.