Core Kernel Requirements

jan 13, 2022
admin

Android 8.0 en hoger mandateren een minimum kernelversie en kernelconfiguratie die wordt geverifieerd door de Vendor Test Suite (VTS) en over-the-air (OTA) updates. Android-kernels moeten kernel .config-ondersteuning en de optie om de kernelconfiguratie runtime te lezen via procfs inschakelen.

Kernel .config-ondersteuning

Alle kernels van Android-toestellen moeten het volledige bestand android-base.cfg, dat de volgende kernel-config opties (of hun kernel-versie equivalent) moet bevatten:

CONFIG_IKCONFIG=yCONFIG_IKCONFIG_PROC=y

Kernel versie

Voor Android 9, de minimale Lange Termijn Ondersteuning (LTS) kernel versie eisen zijn 4.4.107, 4.9.84, en 4.14.42.

  • Alle systeem-op-chips (SoC’s) die in 2018 zijn gefabriceerd, moeten worden gelanceerd met kernel 4.9.84 of nieuwer.
  • Alle andere SoC’s die Android-apparaten lanceren die Android 9 draaien, moeten kernel 4.4.107 of hoger gebruiken.
  • Voor apparaatkernels op basis van 4.14 moet de LTS-release 4.14.42 of hoger worden gebruikt.
  • Oongeacht de lanceerdatum blijven alle SoC’s met apparaatlanceringen op Android 8.0 en hoger onderhevig aan de kernelwijzigingen die nodig zijn om Treble mogelijk te maken.
  • Oldere Android-toestellen die upgraden naar Android 8.0 of hoger kunnen hun oorspronkelijke basiskernelversie blijven gebruiken.

Voor details over LTS-kernels, zie Langdurig stabiele kernels en Android Common Kernels

Devicetree-ondersteuning

Als het platform Advanced Configuration and Power Interface (ACPI) niet ondersteunt, moet devicetree-ondersteuning in de kernel worden ingeschakeld en moeten bootloaders de hardwarebeschrijving in de vorm van een devicetree aan de kernel doorgeven. De devicetree moet ook beschikbaar zijn voor Android om gelezen te kunnen worden en moet in staat zijn om leverancier- en ODM-specifieke parameters aan Android door te geven. CONFIG_OF is verplicht, samen met alle andere apparaat- en subsysteem-specifieke CONFIG_OF_* kernel config opties.

DebugFS

De implementatie van de vendor interface kan niet vertrouwen op debugfs. In Android 7.0-10 mag debugfs worden ingeschakeld, maar VTS-tests mogen worden uitgevoerd met debugfs niet-gemount.

In Android 11 kan debugfs niet worden benaderd of gemount op productie-apparaten. Apparaatfabrikanten moeten debugfs verwijderen. Voor Android 11 had dumpstate toegang tot binder-statistieken van debugfs. Omdat gebruikers builds die starten met Android 11 niet langer toegang hebben tot debugfs heeft dumpstate nu ook toegang tot binder-statistieken van binderfs. Binderfs kan worden ingeschakeld door de kernel config CONFIG_ANDROID_BINDERFS aan te zetten.

In Android 11 , VTS dwingt af dat CONFIG_DEBUG_FS niet is ingeschakeld in de kernel configuratie van het apparaat en debugfs is niet opgenomen onder /proc/filesystems.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.