דרישות ליבה (kernel)

ל-Android מגרסה 8.0 ואילך נדרש גרסת ליבה מינימלית וגרסת ליבה מינימלית הגדרות שאומתו על ידי Vendor Test Suite (VTS) (OTA). הליבה של מכשיר Android חייבת להפעיל את הליבה .config תמיכה ואפשרות לקרוא את תצורת הליבה בזמן הריצה באמצעות מערכת הקבצים procfs.

תמיכה בסיומת .config של ליבה

כל הליבה של המכשיר חייבת להפעיל את כל התוכן android-base.cfg, שחייב לכלול את הפרטים הבאים אפשרויות kernel-config (או מקבילה שלהן בגרסת ליבה):

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y

גרסת ליבה

ב-Android 9, התמיכה המינימלית לטווח ארוך (LTS) הדרישות לגרסת הליבה הן 4.4.107, 4.9.84 ו-4.14.42.

  • כל יחידות ה-SoC שנוצרו ב-2018 חייבות להשיק עם ליבה (kernel) 4.9.84 ומעלה.
  • כל שאר שירותי ה-SoC שמפעילים מכשירי Android עם Android 9 חייבים להשתמש בליבה (kernel) 4.4.107 ואילך.
  • הליבות של המכשיר שמבוססות על 4.14 חייבות לכלול את ערוץ ה-LTS בגרסה 4.14.42 ואילך גרסה חדשה.
  • ללא קשר לתאריך ההשקה, כל ה-SoCs עם המכשיר מושקות ב-Android 8.0 ומעלה צריכים להיות כפופים לשינויים בליבה (kernel) שנדרשים כדי להפעיל את Treble.
  • מכשירי Android ישנים יותר שמשדרגים ל-Android 8.0 ואילך עשויים להמשיך אל להשתמש בגרסת הליבה המקורית הבסיסית שלהם.

פרטים נוספים על ליבות LTS זמינים במאמר לטווח ארוך ליבה יציבה Kernels נפוצות של Android

תמיכה ב-Devicetree

אם הפלטפורמה לא תומכת במפרט Advanced Configuration and Power Interface (ACPI), תמיכה ב-devicetree בליבה (kernel) צריכה להיות מופעלת ותוכנת האתחול חייבת לעבור תיאור החומרה בצורת עץ מכשיר לליבה (kernel). עץ המכשיר הם צריכים להיות זמינים גם לקריאה ל-Android, והם צריכים להיות מסוגלים להעביר - ופרמטרים ספציפיים ל-ODM ל-Android. חובה לציין CONFIG_OF, יחד עם כל שאר כללי CONFIG_OF_* שספציפיים למכשיר ולמערכת משנה אפשרויות להגדרת הליבה.

שימוש ב-DebugFS

ההטמעה של ממשק הספק לא יכולה להסתמך על DebugFS למערכת הקבצים כדי לגשת למידע על תוצאות ניפוי הבאגים. הסיבה לכך היא שב-Android מגרסה 7.0 עד 10, DebugFS ניתן להיות מופעל, אבל יכול להיות שבדיקת VTS תתבצע עם DebugFS מנותק.

ב-Android 11, לא ניתן לגשת אל DebugFS או לטעון אותו למכשיר בסביבת הייצור, ולכן יצרני המכשירים צריכים להסיר אותו. לפני Android 11, האפליקציה dumpstate ניגשה לנתונים סטטיסטיים של binder מ-DebugFS. כי גרסת ה-build של משתמשים שהושקה עם Android מגרסה 11 ואילך לא יכולה לגשת DebugFS, dumpstate ניגש לנתונים הסטטיסטיים של הקישורים מ- binderfs. כדי להפעיל את Binderfs, צריך להפעיל את הליבה config CONFIG_ANDROID_BINDERFS.

ב-Android 11, VTS אוכף את שתי הדרישות הבאות:

  • CONFIG_DEBUG_FS לא מופעלת בהגדרת הליבה (kernel) של המכשיר.
  • DebugFS לא רשום מתחת ל-/proc/filesystems.

ניפוי באגים ב-Android 11

הטבלה הבאה מתארת איך כל אחת משלוש הקטגוריות האלה נתמך ב-Android 11. שימו לב המעקב רלוונטי רק לגרסאות build של ניפוי באגים, כי לא ניתן לבצע את DebugFS טעונה בגרסאות build של משתמשים. אף פעם לא לטעון DebugFS בגרסאות build של משתמשים למכשירים ב-Android 11.

תרחיש לדוגמה גרסת build של ניפוי באגים ב-Android 11
אתחול חד-פעמי של קובצי DebugFS, במהלך ההפעלה. גישה זו מתרחשת פעם אחת בלבד במהלך זמן ההפעלה. הספק מבצע את הפעולה הזו.
יצירת דוח באגים: קריאות Dumpstate HAL DebugFS קבצים, שהופכים לחלק מדוח איתור הבאגים. בוצע באמצעות תמונת מצב של HAL בתוך DumpstateBoard() בהפעלה באמצעות כלי ה-Dumpstate.
בדיקה ואימות ספציפיים למכשיר שורש ומעטפת של Adb