يصف هذا المستند كيفية إصدار GKI، بما في ذلك الإصدارات الأسبوعية والشهرية والإصدارات الطارئة خارج النطاق. الهدف من هذا المستند هو إعطاء مصنعي المعدات الأصلية إرشادات حول مكان التقاط GKI بالإضافة إلى عملية إصلاحات الطوارئ خارج النطاق. يمكن لمصنعي المعدات الأصلية أيضًا استخدام دليل تطوير GKI لمعرفة المزيد حول كيفية العمل مع فريق Android Kernel لتحسين نواة GKI لمنتجاتهم.
إيقاع إصدار GKI
يتم إصدار GKI بإيقاع شهري بعد تجميد KMI.
إصدار Android 13 و14 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
وفقًا للإيقاع الشهري المحدد الموضح في الجدول أدناه.
إصدارات 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 | نعم |
إصدار أندرويد 12 جي كي آي
بعد مايو 2023، سيتم إصدار إصدارات 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 | نعم |
صلاحية بناء GKI لمصنعي المعدات الأصلية
يمكن لمصنعي المعدات الأصلية استخدام Android GKI الذي تم إصداره مؤخرًا. يمكن لمصنعي المعدات الأصلية إطلاق إصدارات معتمدة من GKI طالما أنها متوافقة مع متطلبات LTS في نشرة أمان Android (ASB).
إصدارات التطوير الأسبوعية
باستخدام الحبار للتأكد من أنها تجتاز الحد الأدنى من الجودة .تتوفر ثنائيات GKI للخدمة الذاتية من ci.android.com حيث يتم دمج التغييرات. لن يتم اعتماد الإصدارات الأسبوعية، على الرغم من أنه يمكن استخدامها كخط أساس للتطوير والاختبار. لا يمكن استخدام الإصدارات الأسبوعية لإصدارات أجهزة الإنتاج للمستخدمين النهائيين.
الإصدارات الشهرية المعتمدة
تحتوي إصدارات GKI الشهرية على ملف boot.img
الذي تم اختباره والذي يشتمل على شهادة مدرجة من Google لإثبات أن الثنائيات تم إنشاؤها من خط أساسي معروف لكود المصدر.
في كل شهر، يتم اختيار مرشح الإصدار الشهري لـ GKI (غير معتمد) بعد تاريخ انتهاء تسجيل الوصول، والذي عادةً ما يكون الإصدار الأسبوعي الثاني من ذلك الشهر. بعد تحديد الإصدار الشهري المرشح، لن يتم قبول التغييرات الجديدة في إصدار ذلك الشهر. خلال فترة النافذة المغلقة، لا يمكن معالجة سوى إصلاحات الأخطاء التي تسبب فشل الاختبار. يخضع الإصدار المرشح لضمان الجودة - كما هو موضح في قسم تأهيل GKI - لضمان اجتياز اختبارات الامتثال على تصميم GSI+GKI باستخدام جهاز مرجعي بالإضافة إلى الحبار.
الشكل 1. الجدول الزمني لإصدار GKI
عملية إعادة الدوران في حالات الطوارئ
يشير إعادة التشغيل إلى عملية إعادة دمج ثنائي وإعادة بنائه وإعادة اختباره وإعادة اعتماده بعد الإصدار العام لنواة GKI . يمكنك طلب إعادة تشغيل البرنامج الثنائي المعتمد في أي من الحالات التالية:
- لتحديث قائمة الرموز.
- لتطبيق إصلاح على خطأ، بما في ذلك الأخطاء التي تم العثور عليها أثناء الموافقة على مختبر الناقل.
- لإضافة ربط بائع .
- لتطبيق تصحيح على ميزة موجودة.
- لتطبيق التصحيح الأمني (بعد 6 أشهر).
يتم دمج تصحيحات الأمان تلقائيًا في فرع الإصدار لمدة تصل إلى 6 أشهر بعد إصدار الفرع. بعد فترة التوقف البالغة 6 أشهر، يجب عليك طلب تأجيل لتطبيق تصحيحات الأمان على أحد الفروع.
قبل طلب إعادة التشغيل، لاحظ الإرشادات التالية:
يُسمح بالإعادتات فقط في فروع الإصدار بعد إطلاق الإصدار العام الأولي للإصدار الشهري .
يتم قبول طلبات إعادة النشر فقط لفرع إصدار معين لمدة أقصاها ستة أشهر بعد الإصدار العام الأولي. وبعد ستة أشهر، تصبح الفروع مؤهلة لإعادة التشغيل فقط لتصحيحات الأمان المذكورة في نشرة أمان Android .
عندما تتسبب متطلبات LTS ، التي تحددها نشرة أمان Android (ASB) في عدم امتثال الفرع، يتم إهمال الفرع. لا يتم قبول طلبات إعادة التشغيل للفروع المهملة. يتم تضمين تاريخ الإيقاف لفرع إصدار GKI معين في ملاحظات إنشاء إصدار GKI الشهرية ضمن الإصدارات . للتخطيط المستقبلي، يتم تحديث متطلبات LTS في شهري مايو ونوفمبر سنويًا. على سبيل المثال، فرع
android12-5.10-2023-07
(5.10.177) غير مدعوم لإعادة التشغيل بعد 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):
أولوية إسرت ص0 2 أيام عمل ص1 5 أيام عمل ص2 10 أيام عمل ص3 15 يوم عمل
يجب عليك تقديم طلب إعادة تشغيل منفصل لكل فرع إصدار. على سبيل المثال، إذا كانت هناك حاجة إلى إعادة التشغيل لكل من
android12-5.10-2022-08
وandroid12-5.10-2022-09
، فيجب عليك إنشاء طلبي إعادة تشغيل.بعد توفير البنية ووضع علامة على طلب إعادة التشغيل على أنه تم إصلاحه، لا ينبغي عليك إعادة فتح طلب إعادة التشغيل لإضافة CLs إضافية. يجب عليك إرسال طلب إعادة تشغيل جديد إذا كانت هناك تصحيحات إضافية تحتاج إلى الدمج.
لكل CL قيد النظر، قم بإضافة العلامات التالية. يتم حظر التقدم في طلب إعادة التشغيل بدون هذه المعلومات.
-
Bug
: يجب إضافة معرف الخطأ إلى رسالة الالتزام لكل CL. -
Change-Id
: يجب أن يكون مطابقًا لمعرف التغيير الخاص بتغيير الفرع الأساسي.
-
إذا كان طلب إعادة التشغيل يتطلب ردًا منك، ولم تستجب خلال ثلاثة أيام عمل، فسيتم خفض الأولوية بمقدار مستوى واحد (على سبيل المثال، يتم تخفيض تصنيف P0 إلى P1 ). إذا لم تستجب لمدة أسبوعين، فسيتم وضع علامة على الخطأ بأنه لن يتم إصلاحه (قديم) .
تقديم طلب respin
الرسم البياني التالي يوضح عملية respin. تبدأ العملية عندما يرسل شريك OEM (أنت) طلب إعادة التشغيل.
الشكل 2. عملية إعادة الدوران
للدخول في عملية respin:
- املأ نموذج طلب GKI Respin . وتواصل مع مدير حسابك الفني في Google على الفور. يقوم هذا النموذج بإنشاء خطأ في طلب إعادة تشغيل GKI. تكون أخطاء طلب الاستجابة مرئية لك (مقدم الطلب) وفريق GKI وأفراد محددين تضيفهم إلى قائمة CC الخاصة بالأخطاء.
- إذا كان لديك بالفعل إصلاح، فيجب أن يشير الطلب إلى إرسال التصحيح في AOSP حتى تتمكن Google من مراجعته. إذا لم يكن إرسال التصحيح ممكنًا، فيجب إرفاق التصحيح كملف نصي بالطلب.
- إذا لم يكن لديك حل، فيجب أن يحتوي الطلب على أكبر قدر ممكن من المعلومات، بما في ذلك رقم إصدار kernel والسجلات، حتى تتمكن Google من المساعدة في تصحيح المشكلة.
- يقوم فريق Google GKI بمراجعة الطلب والموافقة عليه أو إعادة تعيينه إليك إذا كانت هناك حاجة إلى مزيد من المعلومات.
- بعد الاتفاق على الإصلاح، يقوم فريق Google GKI بمراجعة الكود (CR+2) للتغيير. تبدأ المراجعة في الإطار الزمني لـ ESRT. يقوم فريق GKI بدمج وبناء واختبار الانحدار والتصديق على التغيير.
- يتم إصدار الملف الثنائي إلى ci.android.com . ينتهي الإطار الزمني لـ ESRT ويقوم فريق Google GKI بوضع علامة على الطلب على أنه ثابت والإشارة إلى إصدار إعادة التشغيل. يتم أيضًا نشر إصدار respin على صفحة إصدارات إصدار Generic Kernel Image (GKI) .
مؤهلات GKI
أنواع بنيات GKI | إنفاذ الجودة | ملحوظات |
---|---|---|
أسبوعي | اختبار الحبار
|
|
شهري (معتمد) | اختبار الحبار
| |
الإجابات (معتمدة) | اختبار الحبار
|
|
أين يمكن الحصول على قطع أثرية للبناء
يمكن الحصول على العناصر الفنية لجميع الإصدارات من ci.android.com .
يمكنك العثور على مزيد من المعلومات حول CI، بما في ذلك نتائج الاختبار على لوحة معلومات التكامل المستمر لنظام Android .
الأسئلة الشائعة
هل من الممكن إنشاء ثنائي GKI جديد استنادًا إلى GKI الذي تم إصداره بالفعل؟
نعم، هذا هو المعروف باسم respin. يتم دعم عملية إعادة التشغيل طالما أن إصدار 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 (بما في ذلك تصحيح الدوران في حالات الطوارئ) على أحدث قاعدة بيانات؟
لا، تحتوي الإعادة فقط على تصحيحات موجودة أعلى النوى المعتمدة الشهرية التي تم اختيارها. تحتوي عمليات إعادة العرض هذه على جميع إصلاحات الأخطاء التي تمنع الإطلاق والتي تم الإبلاغ عنها حتى أي وقت محدد بواسطة الشركات المصنعة الأصلية باستخدام الإصدار الشهري الأساسي المقابل. راجع المثال التالي لكيفية حدوث هذا النوع من السيناريو.
- قرر OEM1 وOEM2 استخدام الإصدار الثنائي GKI اعتبارًا من نوفمبر 2021.
- يعثر OEM1 وOEM2 على المشكلات التي تتطلب تصحيحات للدعم. قد تكون هذه البقع مختلفة أو قد تكون هي نفسها.
- تحتوي عمليات إعادة التشغيل أعلى الملف الثنائي لشهر نوفمبر 2021 على إصلاحات حظر الإطلاق التي أبلغ عنها كل من OEM1 وOEM2 أثناء نافذة إعادة التشغيل، ولكن لا شيء أكثر من ذلك.
- يتم أيضًا تضمين المشكلات المذكورة في الرمز النقطي الثاني في الإصدارات الشهرية اللاحقة لـ GKI.
يحتوي إصدار أكتوبر على جميع التصحيحات المقدمة من OEM، ولكن تصحيحات OEM الأخرى تؤثر علينا، لأنه لم يتم اختبارها خصيصًا مع منتجاتنا. هل من الممكن تضمين التصحيح الخاص بنا فقط؟
هذا غير ممكن. مسار إعادة التشغيل "لكل OEM" غير قابل للتوسيع حاليًا. بدلاً من ذلك، يقوم فريق GKI بفحص كل تغيير يتم إجراؤه في تصميمات إعادة التشغيل، واختبار التغييرات مع جميع الأجهزة المتاحة قبل إنشاء تصميم جديد. إذا وجد فريق GKI أن المشكلة تتعلق بشركة تصنيع المعدات الأصلية/الجهاز/الطراز، فيمكن لفريق GKI التأكد من أن الكود الذي تمت إضافته بواسطة التغيير يتم تنفيذه فقط على الجهاز/الطراز/SKU المتأثر.
تتمثل الفائدة الرئيسية من عمليات إعادة التشغيل الموحدة في أن كل جهاز يستخدم نفس قاعدة الإصدار يستفيد من بعضها البعض، خاصة إذا كانت الأخطاء التي يكتشفونها عامة وتنطبق على جميع المستخدمين. تعتبر أخطاء النواة الأساسية الموجودة في اختبار الناقل مثالاً محددًا لهذا المفهوم.
هل هناك مواقف توفر فيها Google معلومات محددة حول تصحيحات OEM وسيناريوهات المشكلات، حتى يتمكن مصنعو المعدات الأصلية من تقييم تأثير ومخاطر تنفيذ التصحيحات مع منتجاتهم؟
لن تقوم Google مطلقًا بإضافة أي تغيير إلى إصدار إعادة التشغيل حتى يتم فهم المشكلة وجمع كافة التفاصيل. يظهر هذا في سجل التغيير (رسالة الالتزام). لا تكشف Google عن الجهاز المحدد الذي يؤثر عليه، ولكن يمكن لمصنعي المعدات الأصلية دائمًا العثور على وصف المشكلة وحلها في سجل التغيير.