Android 8.0 y las versiones posteriores requieren una versión y kernel mínimos
de Compute Engine, que se verifican con el Conjunto de pruebas del proveedor (VTS) y de forma inalámbrica
(OTA). Los kernels de dispositivos Android deben habilitar el kernel .config
compatibilidad y la opción de leer la configuración del kernel en el entorno de ejecución a través del
Sistema de archivos procfs
.
Compatibilidad con Kernel .config
Todos los kernels del dispositivo deben habilitar android-base.cfg, que debe incluir lo siguiente Opciones kernel-config (o su equivalente a la versión de kernel):
CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y
Versión de kernel
Para Android 9, la asistencia a largo plazo (LTS) mínima los requisitos de la versión de kernel son 4.4.107, 4.9.84 y 4.14.42.
- Todos los SoC desarrollados en 2018 deben lanzarse con kernel 4.9.84 o superior
- Todos los demás SoC que lanzan dispositivos Android que ejecutan Android 9 debes usar el kernel 4.4.107 o una versión posterior.
- Los kernels de dispositivos basados en la versión 4.14 deben incluir la versión de LTS 4.14.42 o una posterior. lanzamiento.
- Independientemente de la fecha de lanzamiento, todos los SoCs con dispositivos se lanzan en Android 8.0 y versiones posteriores están sujetas a los cambios del kernel necesarios para habilitar Treble.
- Los dispositivos Android más antiguos que se actualicen a Android 8.0 o versiones posteriores pueden continuar usar su versión original de kernel base.
Para obtener detalles sobre los kernels LTS, consulta Largo plazo kernels estables y Núcleos comunes de Android
Compatibilidad con Devicetree
Si la plataforma no admite la especificación de Interfaz avanzada y configuración avanzada (ACPI),
La compatibilidad con devicetree en el kernel debe estar habilitada y los bootloaders deben pasar el
de hardware en la forma de un árbol de dispositivos en el kernel. El árbol de dispositivos
también debe estar disponible para lectura de Android y debe ser capaz de pasar
y parámetros específicos de ODM para Android. El campo CONFIG_OF
es obligatorio.
junto con todos los demás CONFIG_OF_*
específicos de dispositivos y subsistemas
opciones de configuración de kernel.
Usa DebugFS
La implementación de la interfaz del proveedor no puede depender de DebugFS
.
para acceder a la información de depuración.
Esto se debe a que, en Android 7.0 a 10, se puede habilitar DebugFS
pero las pruebas de VTS podrían realizarse con DebugFS
desactivado.
En Android 11, no se puede acceder a DebugFS
ni activarlo
dispositivos de producción, por lo que los fabricantes de dispositivos deben quitarlo. En versiones anteriores a Android 11,
dumpstate
accedió a las estadísticas de Binder desde DebugFS
.
Debido a que las compilaciones de usuario que se lanzan con Android 11 o versiones posteriores no tienen acceso
DebugFS
, dumpstate
accede a las estadísticas de Binder desde
binderfs
Para habilitar Binderfs
, habilita el kernel
config CONFIG_ANDROID_BINDERFS
.
En Android 11, VTS aplica estos dos requisitos:
CONFIG_DEBUG_FS
no está habilitado en la configuración del kernel del dispositivo.DebugFS
no aparece en/proc/filesystems
.
DebugFS en Android 11
La siguiente tabla describe cómo cada una de estas tres categorías
compatible con Android 11. Ten en cuenta que
El siguiente código solo se aplica a compilaciones userdebug, ya que DebugFS
no puede ser
activa en compilaciones de usuarios. Nunca actives DebugFS
en compilaciones de usuario para dispositivos
que se lanzarán en Android 11.
Caso de uso | Compilación userdebug de Android 11 |
---|---|
Inicialización única de archivos DebugFS durante el inicio.
Este acceso sucede una sola vez durante el tiempo de inicio.
|
El init del proveedor hace esto. |
Generación de informes de errores: La HAL de estado de volcado lee:
Archivos DebugFS , que forman parte del informe de errores
|
Lo realiza la HAL de estado de volcado dentro de DumpstateBoard() cuando se invoca.
la herramienta dumpstate.
|
Pruebas y validación específicas del dispositivo | Shell y raíz de adb |