Conecta con nosotros

Hola, ¿qué estás buscando?

Actualidad

Android avanza hacia su convergencia con la rama general de Linux

Android

Android

Google lleva tiempo buscando vías para facilitar el mantenimiento de Android, el sistema operativo que gobierna la inmensa mayoría de los smartphones activos. Para ello, el gigante del buscador trabaja desde hace años en ajustar el kernel de Android a la rama oficial de Linux, haciendo que los drivers de terceros sean instalados mediante un mecanismo llamado Project Treble, que fue presentado en 2017.

Dicho con otras palabras, Google quiere ajustar el kernel de Android al de Linux con el fin de ofrecer un núcleo genérico para todos los dispositivos. La compañía trabaja desde hace tiempo para lograr ese objetivo, y de hecho parece que en el lanzamiento de Android 12 se producirán progresos significativos en ese sentido, ya que Todd Kjos, ingeniero de software de Google, ha presentado un informe en la Linux Plumbers Conference en el que se dice que la mencionada versión del sistema se acerará bastante a la rama principal de Linux al suministrar a los usuarios finales una Imagen de Kernel Genérica (GKI en sus siglas inglés).

La relación de Android con Linux ha tenido notables decepciones y desencuentros. La decepción ha sido sobre todo porque lo que prometía ser un “caballero blanco” del software libre ha terminado devorado por los servicios de Google y las implementaciones privativas que permite la licencia Apache. Los desencuentros vienen porque algunas de las partes de Android presentes en Linux se fueron y volvieron del proyecto original, sin que aquello supusiera ni mucho menos el fin de la bifuración de Linux por parte de Google.

El gigante del buscador bifurcó Linux en su momento con el fin de añadirle cambios específicos orientados a los teléfonos móviles, creando “Android common”. Luego los fabricantes de SoC, entre los que están Qualcomm, Samsung y MediaTek, bifurcan “Android common” con el fin de crear un kernel específico para sus chips, siendo el segundo producto bifurcado una vez más para adaptar el núcleo a cada dispositivo específico.

Como vemos, el kernel de Android pasa por tres procesos de bifurcación antes de llegar a un dispositivo, lo que termina haciendo que la resolución de fallos sea complejo debido a que los parches tienen que ir descendiendo por el árbol de bifurcaciones hasta llegar a los usuarios finales, generando un problema derivado de la fragmentación. La documentación oficial de Android señala que “estas modificaciones pueden ser extensas, hasta el punto de que hasta el 50% del código que se ejecuta en un dispositivo es código fuera del árbol (no procedente de versiones anteriores de Linux o de los núcleos comunes de AOSP)”.

Tras exponer el panorama, eso obvio que la intención de Google con la GKI es reducir la cantidad de bifurcaciones de tres a una, haciendo que exista un kernel genérico común para todos los fabricantes y dejando a estos espacio para sus personalizaciones con Project Treble, mediante el cual la compañía pretende construir una Imagen Genérica de Sistema (GSI) para poder actualizar Android independientemente del soporte de hardware.

Google quiere sacar del núcleo de Android el código específico para el hardware y colocarlo en módulos suministrados por el proveedor, de forma que estos puedan ser suministrados de forma asíncrona del kernel genérico a través de una Interfaz de Módulo del Kernel (KMI en sus siglas en inglés).

Todd Kjos ha reconocido que el proceso de transición no es nada sencillo, que requeriría de varios años de trabajo y que hay posibilidades de que no llegue a completarse. La compañía espera poder cambiar a un ciclo upstream para las nuevas funciones en 2023 mientras dedica los años del 2020 al 2022 a trabajar en las características existentes y aislar los cambios de los proveedores hacia los módulos.

Con el fin de al menos poner unos cimientos para el nuevo enfoque del kernel, se espera que el Google Pixel 6 sea el primer dispositivo Android que suministre un kernel GKI versión 5.10 (el cual es LTS al menos en el proyecto original), lo que al menos sería un paso importante hacia la dirección que quiere marcar el gigante del buscador.

Advertencia, desplázate para continuar leyendo

47 Comentarios
Advertencia
Advertencia

Te recomendamos

Actualidad

Linus Torvalds ha anunciado el lanzamiento de Linux 6.12, una nueva versión del kernel que lo mueve todo bien repleta de cambios y la última...

Opinión

Recogíamos el viernes el lanzamiento de Linux Lite 7.2, la nueva versión de una distribución que, como su propio nombre indica, tiene pretensiones de ligera…...

Actualidad

No es la primera vez que ocurre, pero sí la que mayor impacto parece estar teniendo: un número indeterminado, pero considerable de desarrolladores rusos...

A fondo

Yo lo tengo claro. Y como yo, muchos de vosotros. La mayoría, me atrevería a decir… y cada vez somos más. Pero ¿qué me...