GKI 1.0: בדיקת תאימות

בדף הזה נסביר איך לקבל קובצי אימג' של אתחול עם ארטיפקטים של build של ליבה לצורך בדיקת תאימות.

קבלת קובצי אימג' לאתחול

ב-AOSP אפשר לקבל קובצי אימג' של אתחול שנוצרו מראש מ-ci.android.com. קובצי האימג' של האתחול נכללים בארכיון aosp_arm64-img-*.zip ביעד ה-build aosp_arm64, באופן הבא:

שותפים יכולים לקבל קובצי אימג' של אתחול חתומים או לא חתומים באופן הבא:

  • מקבלים קובצי אימג' לא חתומים להפעלה שמבוססים על android12-5.4 מההסתעפות aosp-main ב-ci.android.com (מחפשים ביעד ה-build aosp_arm64). קובצי האימג' להפעלה מכילים דיסק RAM שנוצר מההסתעפות main של AOSP. אין להשתמש בתמונות boot-debug, כי הן מיועדות למכשירים מדור קודם ל-GKI בלבד.
  • מקבלים קובצי אימג' של אתחול חתומים שמבוססים על android11-5.4 מ-partner.android.com. קובצי האימג' האלה של האתחול מכילים דיסק RAM שנוצר מההסתעפות r-fs-release. תהליך החתימה של boot.img זהה לתהליך החתימה של GSI.

קובצי אימג' של אתחול, חתומים ולא חתומים, מגיעים באפשרויות הקידוד הבאות של הליבה:

  • boot-5.4.img הוא ליבה לא דחוסה.
  • boot-5.4-gz הוא ליבה דחוסה ב-gzip.
  • boot-5.4-lz4 הוא ליבה דחוסה ב-lz4.
לבדיקת תאימות, צריך להשתמש בתמונות אתחול עם ליבות שמייצאות רק את הסמלים שמופיעים ברשימת הסמלים של KMI (הסמלים הם trimmed).

למטרות פיתוח, אפשר להשתמש ב-kernel prebuilts ובתמונות אתחול של GKI שממיצות את כל הסמלים בליבה (הסמלים הם untrimmed). קובצי kernel prebuilts ללא חיתוך נוצרים ביעד kernel_debug_aarch64 של build מסוים של הליבה ב-ci.android.com. קובצי אימג' של אתחול GKI ללא חיתוך נוצרים ב-builds של userdebug לצד קובצי אימג' רגילים של אתחול GKI ללא חיתוך, ושמות הקבצים שלהם מסתיימים ב--allsyms.img.

קבלת פריטים שנוצרו בתהליך פיתוח (artifacts) של הליבה

כשמנסים לנפות באגים בקובץ GKI boot.img, כדאי לכלול בקובץ גם את ארטיפקטי ה-build שמשויכים לליבה. לדוגמה, אפשר להשתמש ב-vmlinux ללא הסרת קוד מיותר לניפוי באגים, ובמניפסט כדי ליצור מחדש את גרסת ה-build של הליבה של GKI באופן מקומי. כדי לקבל את ארטיפקטי ה-build:

  1. מאתרים את מספר ה-build של הליבה שנוצרה מראש ששימשה ליצירת GKI‏ boot.img. מספר ה-build מופיע בסוף גרסת הליבה, לפני האותיות ab. בדוגמה הבאה מספר ה-build מודגש:

    [ 0.000000] Linux version 5.4.49-00947-g9d21bcd4897b-ab6638796

    אפשר גם למצוא קובץ אימג' אתחול שמכיל ליבה לא דחוסה באמצעות grep כדי לזהות את מספר ה-build של הליבה:

    grep -a "Linux version " boot-5.4.img
  2. פותחים את הגרסה המוכנה מראש של הליבה באמצעות מספר ה-build בכתובת ה-URL הבאה: https://ci.android.com/builds/submitted/<number>/kernel_aarch64/latest

    לדוגמה, באמצעות מספר ה-build משלב 1, כתובת ה-URL היא: https://ci.android.com/builds/submitted/6638796/kernel_aarch64/latest

    כשמשתמשים בגרסה לא חתוכה, מחליפים את kernel_aarch64 בקישור ב-kernel_debug_aarch64.