Google se centrará en el desarrollo de innovaciones para Android en el núcleo principal de Linux

En la conferencia Linux Plumbers 2021, Google presentó los avances de la iniciativa para trasladar la plataforma Android hacia el uso del núcleo Linux estándar en lugar de su propia versión del núcleo, que incluye modificaciones específicas para la plataforma Android.

El cambio más importante en el desarrollo fue la decisión de adoptar, después de 2023, el modelo "Upstream First", que implica el desarrollo de todas las nuevas funcionalidades del núcleo necesarias para la plataforma Android directamente en el núcleo principal de Linux, y no en sus propias ramas separadas (la funcionalidad se promoverá primero en el núcleo principal y luego se utilizará en Android, y no al revés). También se prevé para 2023 y 2024 la incorporación al núcleo principal de todos los parches adicionales que queden en la rama Android Common Kernel.

En cuanto al futuro cercano, para la esperada plataforma Android 12 a principios de octubre, se ofrecerán compilaciones del núcleo "Generic Kernel Image" (GKI), lo más cercanas posible al núcleo estándar 5.10. Para estas compilaciones se proporcionará un lanzamiento regular de actualizaciones, que se publicarán en el repositorio ci.android.com. En el núcleo GKI, las adiciones específicas de Android y los controladores relacionados con el soporte de hardware de los fabricantes OEM se han trasladado a módulos de núcleo separados. Estos módulos no están ligados a la versión del núcleo principal y pueden desarrollarse por separado, lo que simplifica significativamente el mantenimiento y la actualización de dispositivos a nuevas ramas del núcleo.

Google se centrará en el desarrollo de innovaciones para Android en el núcleo principal de Linux

Las interfaces necesarias para los fabricantes de dispositivos se implementan en forma de ganchos que permiten modificar el comportamiento del núcleo sin alterar el código. En total, el núcleo android12-5.10 ofrece 194 ganchos estándar, similares a los puntos de trazado (tracepoints), y 107 ganchos especializados, que permiten ejecutar controladores en un contexto no atómico. En el núcleo GKI, se prohíbe a los fabricantes de hardware aplicar parches específicos al núcleo principal, y los componentes para el soporte de hardware deben ser proporcionados por los proveedores únicamente en forma de módulos adicionales del núcleo, los cuales deben ser compatibles con el núcleo principal.

Recordemos que en la plataforma Android se desarrolla una rama propia del núcleo: el Android Common Kernel, sobre la cual se forman compilaciones específicas para cada dispositivo. En cada rama de Android, a los fabricantes se les ofrece varias opciones de configuración de núcleos para sus dispositivos. Por ejemplo, en Android 11 se ofrecían tres núcleos básicos para elegir: 4.14, 4.19 y 5.4, mientras que para Android 12 se ofrecerán los núcleos básicos 4.19, 5.4 y 5.10. La opción 5.10 se presenta como Generic Kernel Image, en el cual las funcionalidades necesarias para los OEM se han transferido al upstream, se han movido a módulos o se han incorporado al Android Common Kernel.

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

  • Sobre la base de los núcleos LTS principales (3.18, 4.4, 4.9, 4.14, 4.19, 5.4) se creaba una rama llamada 'Android Common Kernel', en la que se trasladaban parches específicos de Android (anteriormente el tamaño de los cambios alcanzaba varios millones de líneas).
  • Sobre la base del 'Android Common Kernel', los fabricantes de chips, como Qualcomm, Samsung y MediaTek, formaban el 'SoC Kernel', que incluía complementos para soportar el hardware.
  • Sobre la base del 'SoC Kernel', los fabricantes de dispositivos creaban el 'Device Kernel', que incluía cambios relacionados con el soporte de hardware adicional, pantallas, cámaras, sistemas de sonido, etc.

Este enfoque complicaba significativamente la entrega de actualizaciones que solucionan vulnerabilidades y la transición a nuevas ramas del núcleo. A pesar de que Google libera regularmente actualizaciones de sus núcleos de Android (Android Common Kernel), los proveedores a menudo no se apresuran a ofrecer estas actualizaciones o incluso utilizan un único núcleo durante todo el ciclo de vida del dispositivo.

Reproducir video


Fuente: opennet.ru
Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster