Core Kernel Requirements
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.