Android 8.0 e versioni successive richiedono una versione minima del kernel e del kernel.
di rete, verificati dal Vendor Test Suite (VTS) e over-the-air
(OTA). I kernel dei dispositivi Android devono abilitare il kernel .config
e la possibilità di leggere la configurazione del kernel in fase di runtime tramite
File system procfs
.
Supporto kernel .config
Tutti i kernel del dispositivo devono abilitare l'intera android-base.cfg, che deve includere quanto segue. opzioni kernel-config (o l'equivalente della versione del kernel):
CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y
Versione kernel
Per Android 9, il livello minimo di assistenza a lungo termine (LTS) i requisiti della versione del kernel sono 4.4.107, 4.9.84 e 4.14.42.
- Tutti i SoC prodotti nel 2018 devono essere lanciati con il kernel 4.9.84 o superiore.
- Tutti gli altri SoC che lanciano dispositivi Android con Android 9 deve usare il kernel 4.4.107 o superiore.
- I kernel del dispositivo basati sulla versione 4.14 devono includere LTS 4.14.42 o versione successiva .
- Indipendentemente dalla data di lancio, tutti i SoC con dispositivo vengono lanciati su Android 8.0 e superiori rimangono soggetti alle modifiche del kernel necessarie per abilitare Treble.
- I dispositivi Android meno recenti che eseguono l'upgrade ad Android 8.0 o versioni successive possono continuare a usa la versione originale del kernel.
Per maggiori dettagli sui kernel LTS, consulta A lungo termine con kernel stabili e Kenel comuni di Android
Supporto di Devicetree
Se la piattaforma non supporta la specifica ACPI (Advanced Configuration and Power Interface),
il supporto devicetree nel kernel deve essere abilitato e i bootloader devono passare
descrizione dell'hardware sotto forma di devicetree nel kernel. L'albero dei dispositivi
deve essere disponibile per Android in lettura e deve essere in grado di trasmettere
e ODM ad Android. CONFIG_OF
è obbligatorio,
insieme a tutte le altre CONFIG_OF_*
specifiche per dispositivo e sottosistema
e le opzioni di configurazione del kernel.
Utilizza DebugFS
L'implementazione dell'interfaccia del fornitore non può basarsi sul DebugFS
per accedere alle informazioni di debug.
Questo perché nelle versioni Android dalla 7.0 alla 10 può essere attivata DebugFS
,
ma il test VTS può essere eseguito con DebugFS
smontato.
In Android 11, non è possibile accedere a DebugFS
o montarlo su
dispositivi di produzione, quindi i produttori devono rimuoverla. Prima di Android 11,
dumpstate
ha eseguito l'accesso alle statistiche del raccoglitore da DebugFS
.
Perché le build degli utenti che vengono lanciate con Android 11 o versioni successive non possono accedere
DebugFS
, dumpstate
accede alle statistiche Raccoglitore da
binderfs
. Per abilitare Binderfs
, abilita il kernel
configura CONFIG_ANDROID_BINDERFS
.
In Android 11, VTS applica i seguenti due requisiti:
CONFIG_DEBUG_FS
non è abilitato nella configurazione del kernel del dispositivo.DebugFS
non è elencato in/proc/filesystems
.
DebugFS in Android 11
La tabella seguente descrive in che modo ciascuna di queste tre categorie viene
supportata in Android 11. Tieni presente che
che segue si applica solo alle build di debug dell'utente poiché DebugFS
non può essere
montate nelle build dell'utente. Non montare mai DebugFS
nelle build degli utenti per i dispositivi
verrà lanciato su Android 11.
Caso d'uso | Build debug utente Android 11 |
---|---|
Inizializzazione una tantum dei file DebugFS , durante l'avvio.
Questo accesso viene verificato una sola volta durante l'avvio.
|
Questa operazione viene eseguita dall'init del fornitore. |
Generazione del report di bug: l'HAL dumpstate legge
DebugFS , che diventano parte della segnalazione di bug.
|
Completato dall'HAL dumpstate entro DumpstateBoard() quando richiamato
dallo strumento dumpstate.
|
Test e convalida specifici per dispositivo | Radice e shell ADB |