Requisitos del núcleo del kernel
Android 8.0 y superior exigen una versión mínima del kernel y una configuración del kernel que se verifica mediante el conjunto de pruebas del proveedor (VTS) y las actualizaciones por aire (OTA). Los kernels de dispositivos Android deben habilitar la compatibilidad con el kernel .config
y la opción de leer la configuración del kernel en tiempo de ejecución a través de procfs
.
Compatibilidad con el .config del kernel
Todos los kernels de dispositivos deben habilitar la totalidad de android-base.cfg, que debe incluir las siguientes opciones de kernel-config (o su equivalente de versión del kernel):
CONFIG_IKCONFIG=yCONFIG_IKCONFIG_PROC=y
Versión del kernel
Para Android 9, los requisitos mínimos de la versión del kernel Long Term Support (LTS) son 4.4.107, 4.9.84, y 4.14.42.
- Todos los sistemas en chip (SoC) producidos en 2018 deben lanzarse con el kernel 4.9.84 o más reciente.
- Todos los demás SoC que lancen dispositivos Android con Android 9 deben utilizar el kernel 4.4.107 o superior.
- Los kernels de dispositivos basados en 4.14 deben incluir la versión 4.14.42 o superior LTS.
- Independientemente de la fecha de lanzamiento, todos los SoCs con lanzamientos de dispositivos en Android 8.0 y superior siguen estando sujetos a los cambios del kernel necesarios para habilitar Treble.
- Los dispositivos Android más antiguos que se actualicen a Android 8.0 o superior pueden seguir utilizando su versión de kernel base original.
Para obtener detalles sobre los kernels LTS, consulte Kernels estables a largo plazo y Kernels comunes de Android
Soporte de devicetree
Si la plataforma no admite la interfaz de configuración avanzada y alimentación (ACPI), el soporte de devicetree en el kernel debe estar habilitado y los cargadores de arranque deben pasar la descripción del hardware en forma de devicetree al kernel. El devicetree también debe estar disponible para que Android lo lea y pueda pasar parámetros específicos del proveedor y del ODM a Android. CONFIG_OF
es obligatorio, junto con todas las demás opciones de configuración del kernel CONFIG_OF_*
específicas del dispositivo y del subsistema.
DebugFS
La implementación de la interfaz del proveedor no puede depender de debugfs
. En Android 7.0-10, debugfs
puede estar habilitado, pero las pruebas de VTS pueden realizarse con debugfs
sin montar.
En Android 11, debugfs
no se puede acceder ni montar en los dispositivos de producción. Los fabricantes de dispositivos deben eliminar debugfs
. Antes de Android 11, dumpstate accedía a las estadísticas de binder desde debugfs. Dado que las compilaciones de usuario que se lanzan con Android 11 ya no pueden acceder a debugfs, dumpstate ahora también puede acceder a las estadísticas de binder desde binderfs. Binderfs puede ser habilitado por la configuración del kernel CONFIG_ANDROID_BINDERFS.
En Android 11 , VTS hace que CONFIG_DEBUG_FS
no esté habilitado en la configuración del kernel del dispositivo y que debugfs
no aparezca en /proc/filesystems
.