Core Kernel Requirements
Android 8.0 e superiori richiedono una versione minima del kernel e una configurazione del kernel che è verificata dal Vendor Test Suite (VTS) e dagli aggiornamenti over-the-air (OTA). I kernel dei dispositivi Android devono abilitare il supporto del kernel .config
e l’opzione per leggere la configurazione del kernel in fase di esecuzione attraverso procfs
.
Supporto .config del kernel
Tutti i kernel dei dispositivi devono abilitare l’intero android-base.cfg, che deve includere le seguenti opzioni kernel-config (o il loro equivalente della versione del kernel):
CONFIG_IKCONFIG=yCONFIG_IKCONFIG_PROC=y
Versione del kernel
Per Android 9, i requisiti minimi della versione del kernel Long Term Support (LTS) sono 4.4.107, 4..9.84, e 4.14.42.
- Tutti i system-on-chip (SoC) prodotti nel 2018 devono essere lanciati con il kernel 4.9.84 o più recente.
- Tutti gli altri SoC che lanciano dispositivi Android con Android 9 devono utilizzare il kernel 4.4.107 o superiore.
- I kernel dei dispositivi basati su 4.14 devono includere la versione 4.14.42 o superiore LTS.
- A prescindere dalla data di lancio, tutti i SoC con lancio di dispositivi su Android 8.0 e superiori rimangono soggetti alle modifiche del kernel necessarie per abilitare Treble.
- I dispositivi Android più vecchi che passano ad Android 8.0 o superiore possono continuare ad usare la loro versione originale del kernel di base.
Per i dettagli sui kernel LTS, vedi kernel stabili a lungo termine e kernel comuni Android
Supporto devicetree
Se la piattaforma non supporta Advanced Configuration and Power Interface (ACPI), il supporto devicetree nel kernel deve essere abilitato e i bootloader devono passare al kernel la descrizione hardware sotto forma di un devicetree. Il devicetree deve anche essere disponibile per la lettura da parte di Android e deve essere in grado di passare ad Android parametri specifici del fornitore e dell’ODM. CONFIG_OF
è obbligatorio, insieme a tutte le altre opzioni di configurazione del kernel CONFIG_OF_*
specifiche del dispositivo e del sottosistema.
DebugFS
L’implementazione dell’interfaccia del fornitore non può contare su debugfs
. In Android 7.0-10, debugfs
può essere abilitato, ma i test VTS possono essere fatti con debugfs
non montato.
In Android 11, debugfs
non può essere accessibile o montato sui dispositivi di produzione. I produttori di dispositivi dovrebbero rimuovere debugfs
. Prima di Android 11, dumpstate accedeva alle statistiche dei raccoglitori da debugfs. Poiché le build degli utenti lanciate con Android 11 non possono più accedere a debugfs, dumpstate può ora accedere anche alle statistiche dei raccoglitori da binderfs. Binderfs può essere abilitato abilitando la configurazione del kernel CONFIG_ANDROID_BINDERFS.
In Android 11, VTS fa sì che CONFIG_DEBUG_FS
non sia abilitato nella configurazione del kernel del dispositivo e che debugfs
non sia elencato sotto /proc/filesystems
.