Core Kernel Requirements
Android 8.0 și versiunile ulterioare impun o versiune minimă a nucleului și o configurație a nucleului care este verificată prin Vendor Test Suite (VTS) și prin actualizări over-the-air (OTA). Kernel-urile dispozitivelor Android trebuie să activeze suportul pentru kernel .config
și opțiunea de a citi configurația kernel-ului în timpul execuției prin procfs
.
Kernel .config support
Toate kernel-urile dispozitivelor trebuie să activeze integral android-base.cfg, care trebuie să includă următoarele opțiuni de configurare a kernelului (sau echivalentul lor în ceea ce privește versiunea kernelului):
CONFIG_IKCONFIG=yCONFIG_IKCONFIG_PROC=y
Versiunea kernelului
Pentru Android 9, cerințele minime pentru versiunea de kernel Long Term Support (LTS) sunt 4.4.107, 4.9.84 și 4.14.42.
- Toate sistemele pe cipuri (SoC) produse în 2018 trebuie să fie lansate cu kernelul 4.9.84 sau mai nou.
- Toate celelalte SoC-uri care lansează dispozitive Android care rulează Android 9 trebuie să utilizeze kernelul 4.4.107 sau o versiune mai recentă.
- Cernelurile dispozitivelor bazate pe 4.14 trebuie să includă versiunea 4.14.42 sau o versiune LTS mai recentă.
- Indiferent de data de lansare, toate SoC-urile cu lansări de dispozitive pe Android 8.0 și mai recente rămân supuse modificărilor de kernel necesare pentru a activa Treble.
- Dispozitivele Android mai vechi care se actualizează la Android 8.0 sau la o versiune mai recentă pot continua să utilizeze versiunea lor inițială de kernel de bază.
Pentru detalii despre kernelurile LTS, consultați kernelurile stabile pe termen lung și Android Common Kernels
Suport devicetree
Dacă platforma nu suportă Advanced Configuration and Power Interface (ACPI), trebuie activat suportul devicetree în kernel și încărcătoarele de pornire trebuie să transmită kernelului descrierea hardware sub forma unui devicetree. De asemenea, devicetree-ul trebuie să fie disponibil pentru a fi citit de Android și trebuie să poată transmite parametrii specifici furnizorului și ODM către Android. CONFIG_OF
este obligatoriu, împreună cu toate celelalte opțiuni de configurare a kernelului CONFIG_OF_*
specifice dispozitivelor și subsistemelor CONFIG_OF_*
.
DebugFS
Implementarea interfeței furnizorului nu se poate baza pe debugfs
. În Android 7.0-10, debugfs
poate fi activat, dar testarea VTS se poate face cu debugfs
nemontat.
În Android 11, debugfs
nu poate fi accesat sau montat pe dispozitivele de producție. Producătorii de dispozitive ar trebui să elimine debugfs
. Înainte de Android 11, dumpstate accesa statisticile binder din debugfs. Deoarece compilările utilizatorilor care lansează cu Android 11 nu mai pot accesa debugfs, dumpstate poate accesa acum și statisticile binder din binderfs. Binderfs poate fi activat prin activarea configurării kernelului CONFIG_ANDROID_BINDERFS.
În Android 11 , VTS impune ca CONFIG_DEBUG_FS
să nu fie activat în configurația kernelului dispozitivului și debugfs
să nu fie listat sub /proc/filesystems
.