בדף הזה מתואר אופן ההשקה של GKI, כולל שבועי, חודשי וחיצוני של שחרורי חירום של הלהקה. מטרת המסמך היא לתת ליצרני ציוד מקורי הנחיות לגבי המיקום של איסוף ה-GKI וגם התהליך עבור מחוץ למסגרת לתיקונים במצבי חירום. יצרני ציוד מקורי יכולים גם להשתמש ב-GKI פיתוח כדי לקבל מידע נוסף על האופן שבו הם יכולים לעבוד עם צוות הליבה של Android כדי לבצע אופטימיזציה הליבה של GKI למוצרים שלהם.
קצב ההפצה של GKI
GKI משוחרר בקצב חודשי אחרי הקפאת KMI.
גרסה ל-Android מגרסה 13, 14 ו-15 של GKI
הטבלה הבאה רלוונטית רק לגבי
android13-5.10
android13-5.15
,
וגם
android14-6.1
:
גרסאות build עם אישור חודשי ל-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.
גרסאות build עם אישור חודשי ל-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, הגרסאות ל-GKI של android12-5.10
פועלות בקצב רבעוני,
שמתפרסם באמצע החודש.
הטבלה הבאה רלוונטית רק לגבי
android12-5.10
גרסאות build עם אישור חודשי ל-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 | כן |
תוקף של גרסאות build של GKI ליצרני ציוד מקורי
יצרני ציוד מקורי יכולים להשתמש ב-Android GKI שהושק לאחרונה. יצרני ציוד מקורי יכולים להתחיל לפעול עם פיתוח גרסאות build שאושרו על ידי GKI כל עוד הן עומדות בדרישות ה-LTS Android Security Bulletin (ASB).
גרסאות פיתוח שבועיות
הגרסאות נבדקות באמצעות Cuttlefish כדי להבטיח שהם עוברים רמת איכות מינימלית.קבצים בינאריים של GKI זמינים לשירות עצמי מ-Android רווח בר-סמך (CI) כששינויים ממוזגים. גרסאות build שבועיות לא יאושרו, אבל אפשר להשתמש בהן בתור הם הבסיס לפיתוח ובדיקה. אי אפשר להשתמש בגרסת build שבועית פיתוחים של מכשירים בסביבת ייצור למשתמשי קצה.
גרסאות חודשיות שאושרו
הגרסאות החודשיות של GKI מכילות boot.img
שנבדקה וכולל
נוסף אישור כדי לאמת שהקבצים הבינאריים נבנו ממקור ידוע
את ערך הבסיס.
בכל חודש, נבחר מועמד להפצה חודשית של GKI (לא אושר) אחרי תאריך הסיום של הצ'ק אין, שהוא בדרך כלל גרסת ה-build השבועית השנייה באותו חודש. אחרי שבוחרים את המועמד לגרסה החודשית, חדש השינויים לא יתקבלו בגרסה של החודש הזה. במהלך החלון שנסגר תקופה מסוימת, ניתן לטפל רק בתיקונים של באגים שגורמים לכשל בבדיקה. אלמנט החיפוש עובר בקרת איכות, כפי שמתואר ב-GKI סעיף הסמכה – כדי לוודא שבדיקות התאימות עוברות בהצלחה מודל GSI+GKI מבוסס על מכשיר עזר וגם דיונון.
איור 1. ציר הזמן להשקה של GKI
תהליך סגירה מחדש במקרה חירום
סיבוב מחדש מתייחס לתהליך של מיזוג מחדש, בנייה מחדש, בדיקה מחדש אישור מחדש של קובץ בינארי אחרי הפצה ציבורית של הליבה של GKI. אפשר לבקש החזרה מחדש של קובץ בינארי שאושר עבור כל אחד מהסוגים הבאים לנסיבות:
- כדי לעדכן רשימת סמלים.
- כדי להחיל תיקון על באג, כולל באגים שנמצאו במהלך אישור שיעור ה-Lab על ידי הספק.
- כדי להוסיף הוק (hook) ספק.
- כדי להחיל תיקון על תכונה קיימת.
- להחיל תיקון אבטחה (אחרי 6 חודשים).
תיקונים לפגיעויות באבטחה ממוזגים באופן אוטומטי להסתעפות של גרסה עד 6 חודשים משחרור ההסתעפות. לאחר המועד של 6 החודשים, תצטרכו לבקש סיבוב חוזר כדי להחיל תיקוני אבטחה על הסתעפות.
הנחיות לבקשת הצמדה מחדש
לפני שמבקשים החזר כספי, חשוב לשים לב להנחיות הבאות:
מותר לפרסם ספינינג רק בהסתעפויות הפצה לאחר השקה ציבורית ראשונית של build חודשי הושק.
בקשות סיבוביות מתקבלות רק עבור הסתעפות נתונה של הפצה לכל היותר שישה חודשים לאחר הפרסום הציבורי הראשוני. אחרי שישה חודשים, להסתעפויות יש אפשרות לסיבוב מחדש רק עבור תיקוני אבטחה שהוזכרו עדכון אבטחה של Android.
כשהדרישות של LTS , מוגדר על ידי Android Security Bulletin (ASB) ההסתעפות לא עומדת בדרישות המדיניות, ולכן היא הוצאה משימוש. הצמדה של בקשות להסתעפויות שהוצאו משימוש לא יתקבלו. תאריך ההוצאה משימוש של GKI נתון הסתעפות הגרסה כלולה בנתוני ה-build החודשי של 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):
עדיפות ESRT P0 2 ימי עסקים P1 5 ימי עסקים P2 10 ימי עסקים P3 15 ימי עסקים
צריך לשלוח בקשה נפרדת לסגירה חוזרת לכל הסתעפות הפצה. לדוגמה, אם נדרש respin גם עבור
android12-5.10-2022-08
וגםandroid12-5.10-2022-09
, צריך ליצור שתי בקשות חוזרות.אחרי שניתנה גרסת build ובקשת החזרה חוזרת סומנה כבעיה שתוקנה, שלא צריך לפתוח מחדש את הבקשה לסיבוב מחדש כדי להוסיף עוד CL. עליך לשלוח בקשה לסיבוב מחדש אם יש תיקונים נוספים שצריך למזג.
לכל CL שנכלל בבדיקה, יש להוסיף את התגים הבאים.
Bug
: צריך להוסיף את מזהה הבאג להודעת השמירה עבור כל CL.Change-Id
: חייב להיות זהה למזהה השינוי של שינוי ההסתעפות הבסיסית.
אם צריך להגיב לבקשה לסגירה חוזרת, ולא תגיבו תוך שלושה ימי עסקים, רמת העדיפות תשודרג לאחור ברמה אחת (לדוגמה, רמת החברות P0 שודרגה לאחור ל-P1). אם לא תגיבו במשך שבועיים, הבאג מסומן כWon't Fix (מיושן).
שליחת בקשה לסגירה חוזרת
בתרשים הבא מוצג תהליך הסיבוב החוזר. התהליך מתחיל שותף ה-OEM (את/ה) שולח את הבקשה לסגירה חוזרת.
איור 2. תהליך הסיבוב החוזר
כדי להיכנס לתהליך הרוטציה:
- ממלאים את טופס הבקשה ל-GKI Respin.
ולפנות מיד למנהל החשבונות הטכני ב-Google. הטופס הזה
יוצר באג בבקשה לסיבוב חוזר של GKI. הבאגים בבקשות מסתובבות גלויים לך
(מגיש הבקשה), צוות GKI ואנשים ספציפיים שאתם מוסיפים
לרשימת ה-CC של הבאג.
- אם כבר יש תיקון, הבקשה אמורה להפנות לתיקון נשלח ב-AOSP כדי ש-Google תוכל לבדוק אותו. אם שליחת התיקון לא מעשי, צריך לצרף את התיקון כקובץ טקסט לבקשה.
- אם אין תיקון, הבקשה חייבת להכיל לפחות חלק כולל מספר גרסת ליבה ויומנים, כדי ש-Google יכול לעזור לנפות את הבאגים שגרמו לבעיה.
- צוות Google GKI בודק את הבקשה ומאשר אותה או מקצה אותה בחזרה אם יש צורך במידע נוסף.
- לאחר שהוסכם על תיקון, הקוד של צוות Google GKI בודק (CR+2) את שינוי. הבדיקה מתחילה במסגרת הזמן של ESRT. צוות GKI ממזג, יוצר ובודק לרגרסיה, ומאשר את השינוי.
- הקובץ הבינארי משוחרר אל ci.android.com. מסגרת הזמן של ESRT מסתיימת, וצוות Google GKI מסמן את הבקשה כבקשה שתוקנה את ה-build המסתובב. ה-builder המסתובב יפורסם גם דף גרסאות build גנריות של תמונת ליבה (GKI).
הסמכות GKI
סוגי גרסאות build של GKI | אכיפת איכות | הערות |
---|---|---|
כל שבוע | בדיקת דיונון
|
|
חודשי (מאושר) | בדיקת דיונון
|
|
Respins (מאושר) | בדיקת דיונון
|
|
איפה משיגים ארטיפקטים של build
אפשר לקבל פריטי מידע לכל פריטי התוכן ב- ci.android.com.
אפשר לקבל מידע נוסף על ה-CI, כולל הבדיקה תוצאות לגבי אינטגרציה רציפה (CI) עם Android במרכז הבקרה.
שאלות נפוצות
ריכזנו כאן כמה שאלות נפוצות שקשורות לתהליך ההשקה של GKI.
האם ניתן לפתח קובץ בינארי חדש של 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
אפשר לאחזר את עותק של פריט המידע שנוצר בתהליך הפיתוח (Artifact) של GKI מ-out/.../dist
.
האם הקובץ הבינארי של GKI (כולל תיקון הספין במצב חירום) נבנה על בסיס הקוד העדכני ביותר?
לא. ההכנסות מכילות רק תיקונים שנמצאים בנוסף לאישור החודשי של הליבה שנבחרו. המסננים האלה מכילים את כל הבאג שחוסם את ההשקה התיקונים שמדווחים עד לזמן נתון על ידי יצרני ציוד מקורי (OEM) שמשתמשים בבסיס המתאים. במהדורה חודשית. הדוגמה הבאה מראה איך תרחיש כזה מתרחש.
- מנובמבר 2021, יצרני ציוד מקורי1 ו-OEM2 (יצרן הציוד המקורי) החליטו להשתמש בגרסה הבינארית של GKI.
- OEM1 ו-OEM2 (יצרני ציוד מקורי) מחפשים בעיות שדורשות תיקונים לקבלת תמיכה. התיקונים האלה עשויים להיות שונים או להיות זהים.
- היכולת לספיחה מעל הקובץ הבינארי של נובמבר 2021 כוללת חסימת השקה התיקונים שדווחו על ידי OEM1 ו-OEM2 במהלך חלון הסיבוב החוזר, אבל לא היו עוד.
- הבעיות שצוינו בתבליט השני נכללות גם ב-GKI הבא במהדורות חודשיות.
בתגובת ה-OEM באוקטובר יש את כל התיקונים שנשלחו על ידי ה-OEM, אבל תיקונים אחרים של ה-OEM משפיעים עלינו כי הם לא נבדקו באופן ספציפי עם המוצרים שלנו. האם אפשר לכלול רק את התיקון שלנו?
זה לא אפשרי. לכל OEM (יצרן ציוד מקורי) לא ניתן לשנות את הנתיב המסתובב. במקום זאת, צוות GKI בוחן כל שינוי שמוביל יוצר ובודק את השינויים בכל החומרה הזמינה לפני שהוא יוצר build. אם צוות GKI מגלה שהבעיה ספציפית ל-OEM, למכשיר או למכשיר אחר מודל, צוות GKI יכול להבטיח שהקוד שנוסף על ידי השינוי יבצע רק במכשיר, בדגם או במק"ט המושפעים.
היתרון העיקרי של ניסויים מאוחדים הוא שכל מכשיר שמשתמשים באותם יתרונות של בסיס הפצה זה מזה, במיוחד אם הבאגים שהם מגלים הם כלליים ורלוונטיים לכל המשתמשים. נמצאו באגים בליבה (kernel) בדיקת ספק היא דוגמה ספציפית לרעיון הזה.
האם יש מצבים שבהם Google מספקת מידע ספציפי לגבי תיקונים ותרחישים של בעיות של OEM, כדי שיצרני ציוד מקורי יוכלו להעריך את ההשפעה והסיכון של הטמעת התיקונים במוצרים שלהם?
Google אף פעם לא תוסיף שינוי ל-build חוזר עד שתבינו את הבעיה וכל הפרטים נאספו. אפשר לראות את זה ביומן השינויים (הודעה לגבי התחייבות). Google לא חושפת מידע על מכשירים ספציפיים, אבל יצרני ציוד מקורי תמיד יכולים למצוא את התיאור והפתרון של הבעיה ביומן השינויים.