Core Kernel Requirements

jan 13, 2022
admin

Az Android 8.0 és újabb verziók minimális kernelváltozatot és kernelkonfigurációt írnak elő, amelyet a Vendor Test Suite (VTS) és az OTA-frissítések ellenőriznek. Az Android eszközkerneleknek engedélyezniük kell a kernel .config támogatását és a kernelkonfiguráció futásidejű olvasásának lehetőségét a procfs segítségével.

Kernel .config támogatás

Minden eszközkernelnek engedélyeznie kell a teljes android-base.cfg-t, amelynek tartalmaznia kell a következő kernel-config opciókat (vagy azok kernel-verzióval egyenértékű változatait):

CONFIG_IKCONFIG=yCONFIG_IKCONFIG_PROC=y

Kernel verzió

Az Android 9 esetében a minimális Long Term Support (LTS) kernel verziókövetelmények a 4.4.107, 4.9.84 és 4.14.42.

  • A 2018-ban gyártott összes System-on-Chipnek (SoC) a 4.9.84-es vagy újabb kernellel kell elindulnia.
  • Az Android 9-et futtató Android-eszközöket indító összes többi SoC-nek a 4.4.107-es vagy újabb kernelt kell használnia.
  • A 4.14-es rendszermagra épülő eszközöknek a 4.14.42-es vagy magasabb LTS kiadást kell tartalmazniuk.
  • A bevezetés dátumától függetlenül, az Android 8.0 vagy magasabb verziószámú eszközökkel induló SoC-kre továbbra is vonatkoznak a Treble engedélyezéséhez szükséges rendszermag-változások.
  • A régebbi Android 8.0-ra vagy újabb Androidra frissülő Android-eszközök továbbra is használhatják az eredeti alap kernelváltozatukat.

Az LTS kernelekről részletesen lásd: Hosszú távú stabil kernelek és Android Common Kernels

Devicetree támogatás

Ha a platform nem támogatja az ACPI-t (Advanced Configuration and Power Interface), a kernelben engedélyezni kell a devicetree támogatást, és a rendszerbetöltőknek a hardver leírását devicetree formájában kell átadniuk a kernelnek. A devicetree-nek az Android számára is olvashatónak kell lennie, és képesnek kell lennie arra, hogy a gyártó- és ODM-specifikus paramétereket átadja az Androidnak. A CONFIG_OF kötelező, az összes többi eszköz- és alrendszer-specifikus CONFIG_OF_* kernel konfigurációs opcióval együtt.

DebugFS

A vendor interfész implementációja nem támaszkodhat a debugfs-ra. Az Android 7.0-10-ben a debugfs engedélyezhető, de a VTS tesztelése a debugfs felcsatolatlanul is elvégezhető.

Az Android 11-ben a debugfs nem érhető el és nem csatolható a gyártóeszközökön. Az eszközgyártóknak el kell távolítaniuk a debugfs-t. Az Android 11 előtt a dumpstate a debugfs-ből érte el a kötegelőstatisztikákat. Mivel az Android 11-el induló felhasználói buildek már nem érhetik el a debugfs-t, a dumpstate most már a binderfs-ből is elérheti a kötegelőstatisztikákat. A binderfs engedélyezhető a kernel config CONFIG_ANDROID_BINDERFS engedélyezésével.

Az Android 11-ben a VTS kikényszeríti, hogy a CONFIG_DEBUG_FS ne legyen engedélyezve az eszköz kernel configjában, és a debugfs ne szerepeljen a /proc/filesystems alatt.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.