Exigences du noyau de base

Android 8.0 et versions ultérieures exigent une version minimale du noyau et une configuration du noyau, qui sont vérifiées par les mises à jour Vendor Test Suite (VTS) et over-the-air (OTA). Les noyaux des appareils Android doivent activer la prise en charge du noyau .config et la possibilité de lire la configuration du noyau au moment de l'exécution via le système de fichiers procfs .

Prise en charge du noyau .config

Tous les noyaux de périphériques doivent activer l'intégralité de android-base.cfg , qui doit inclure les options de configuration du noyau suivantes (ou leur équivalent de version du noyau) :

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y

Version du noyau

Pour Android 9, la configuration minimale requise pour la version du noyau LTS (Long Term Support) est 4.4.107, 4.9.84 et 4.14.42.

  • Tous les SoC produits en 2018 doivent être lancés avec le noyau 4.9.84 ou supérieur.
  • Tous les autres SoC lançant des appareils Android exécutant Android 9 doivent utiliser le noyau 4.4.107 ou supérieur.
  • Les noyaux de périphériques basés sur 4.14 doivent inclure la version LTS 4.14.42 ou supérieure.
  • Quelle que soit la date de lancement, tous les SoC dont les appareils sont lancés sur Android 8.0 et versions ultérieures restent soumis aux modifications du noyau requises pour activer Treble.
  • Les appareils Android plus anciens mis à niveau vers Android 8.0 ou version ultérieure peuvent continuer à utiliser leur version de base d'origine du noyau.

Pour plus de détails sur les noyaux LTS, consultez Noyaux stables à long terme et Noyaux communs Android.

Prise en charge de l'arborescence des périphériques

Si la plate-forme ne prend pas en charge la spécification ACPI (Advanced Configuration and Power Interface) , la prise en charge de l'arborescence des périphériques dans le noyau doit être activée et les chargeurs de démarrage doivent transmettre la description du matériel sous la forme d'une arborescence de périphériques au noyau. L'arborescence des appareils doit également être disponible en lecture pour Android, et elle doit être capable de transmettre des paramètres spécifiques au fournisseur et à l'ODM à Android. CONFIG_OF est obligatoire, ainsi que toutes les autres options de configuration du noyau CONFIG_OF_* spécifiques au périphérique et au sous-système.

Utilisation de DebugFS

L'implémentation de l'interface du fournisseur ne peut pas s'appuyer sur le système de fichiers DebugFS pour accéder aux informations de débogage. En effet, dans Android 7.0-10, DebugFS peut être activé, mais les tests VTS peuvent être effectués avec DebugFS démonté.

Dans Android 11, DebugFS n’est pas accessible ni monté sur les appareils de production, les fabricants d’appareils doivent donc le supprimer. Avant Android 11, dumpstate accédait aux statistiques du classeur à partir de DebugFS . Étant donné que les versions utilisateur lancées avec Android 11 ou version ultérieure ne peuvent pas accéder DebugFS , dumpstate accède aux statistiques du classeur à partir binderfs . Pour activer Binderfs , activez la configuration du noyau CONFIG_ANDROID_BINDERFS .

Dans Android 11, VTS applique ces deux exigences :

  • CONFIG_DEBUG_FS n'est pas activé dans la configuration du noyau du périphérique.
  • DebugFS n'est pas répertorié sous /proc/filesystems .

DebugFS dans Android 11

Le tableau suivant décrit comment chacune de ces trois catégories est prise en charge dans Android 11. Notez que ce qui suit s'applique uniquement aux builds userdebug puisque DebugFS ne peut pas être monté dans les builds utilisateur. Ne montez jamais DebugFS dans les versions utilisateur pour les appareils lancés sur Android 11.

Cas d'utilisation Version de débogage utilisateur d'Android 11
Initialisation unique des fichiers DebugFS , lors du démarrage . Cet accès n'a lieu qu'une seule fois au démarrage. L'initialisation du fournisseur fait cela.
Génération de rapport de bug : le HAL dumpstate lit les fichiers DebugFS , qui font partie du rapport de bug. Effectué par dumpstate HAL dans DumpstateBoard() lorsqu'il est invoqué par l'outil dumpstate.
Tests et validation spécifiques à l'appareil Racine et shell Adb