Descargas

Google pasará a innovar para Android en el kernel principal de Linux

En la última conferencia Linux Plumbers 2021, Google hablado sobre el éxito de la iniciativa de convertir la plataforma Android a un kernel Linux normal en lugar de utilizar una versión separada del kernel que contiene cambios específicos para la plataforma Android.

El cambio de desarrollo más importante fue que decisión pasar al modelo «upstream first» después de 2023, que implica el desarrollo de todas las nuevas funciones del kernel requeridas para la plataforma Android directamente en el kernel principal de Linux y no en sus ramas separadas (la funcionalidad se promueve al kernel principal y luego en Android usos y no al revés). También se planea una transferencia al núcleo principal de todos en 2023 y 2024 parches adicionales permanecen en la rama del núcleo común de Android.

En un futuro cercano, se ofrecerán ensamblajes del kernel de imagen de kernel genérico (GKI) para la plataforma Android 12 que se espera para principios de octubre, que se acercará lo más posible al kernel 5.10 habitual. Se proporciona una versión regular de actualizaciones para estos ensamblados y se almacena en el repositorio ci.android.com. En el kernel de GKI, las adiciones específicas de Android y los controladores relacionados con el hardware de los fabricantes de equipos originales se mueven a módulos de kernel separados. Estos módulos no están vinculados a la versión principal del kernel y se pueden desarrollar por separado, lo que simplifica enormemente el mantenimiento y la transferencia de dispositivos a nuevas ramas del kernel.

Las interfaces necesarias para los fabricantes de dispositivos se implementan en forma de ganchos, con los que se puede cambiar el comportamiento del kernel sin realizar cambios en el código. En total, el kernel de Android12-5.10 proporciona 194 enlaces convencionales que son similares a los puntos de seguimiento y 107 enlaces especializados que puede utilizar para ejecutar controladores en un contexto no atómico. En el kernel de GKI, los fabricantes de hardware tienen prohibido aplicar ciertos parches al kernel principal, y los componentes para admitir el hardware solo pueden ser suministrados por los fabricantes en forma de módulos de kernel adicionales que deben ser compatibles con el kernel principal.

Compilación X.org Server 21.1.0 RC disponible para pruebas

Recuerde que la plataforma Android está desarrollando su propia rama del kernel: la Kernel común de Android , sobre la base de los cuales se forman conjuntos específicos para cada dispositivo. Cada rama de Android ofrece a los fabricantes varios diseños de kernel para sus dispositivos. Por ejemplo, Android 11 ofrecía una opción de tres kernels base al mismo tiempo: 4.14, 4.19 y 5.4, y para Android 12 se ofrecen los kernels base 4.19, 5.4 y 5.10. La variante 5.10 está diseñada como una imagen de kernel genérica en la que las capacidades requeridas para los OEM se transfieren al flujo ascendente, se mueven a módulos o se transfieren al kernel común de Android.

Antes de la llegada de GKI, el núcleo de Android pasó por varias etapas de preparación:

  • Basado en los núcleos LTS más importantes (3.18, 4.4, 4.9, 4.14, 4.19, 5.4), una bifurcación de » Kernel común de Android “Fue creado, en el que se transfirieron parches específicos de Android (hasta ahora el tamaño de los cambios alcanzaba varios millones de líneas).
  • Basado en el núcleo común de Android, los fabricantes de chips como Qualcomm, Samsung y MediaTek han creado el núcleo SoC, que contiene complementos para admitir hardware.
  • Basándose en el «kernel de SoC», los fabricantes de dispositivos han creado el «kernel de dispositivos», que incluye cambios para admitir dispositivos, pantallas, cámaras, sistemas de sonido, etc. adicionales.

Este enfoque hizo que fuera muy difícil implementar actualizaciones eliminando vulnerabilidades y moviéndose a nuevas ramas del kernel. Si bien Google publica regularmente actualizaciones para su núcleo común de Android, los proveedores a menudo entregan estas actualizaciones lentamente o usan un solo núcleo durante el ciclo de vida del dispositivo.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba