Core Kernel Requirements

Gen 13, 2022
admin

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, debugfspuò 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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.