Android está construido sobre el kernel de Linux, pero siempre ha usado una versión muy modificada con cambios de OEM, fabricantes de chips como Qualcomm y MediaTek, y Google. A lo largo de los años se han realizado esfuerzos para cerrar la brecha entre los dos núcleos, pero ahora Google se está volviendo más serio al respecto.

En la Conferencia de Plomeros de Linux de este año, los ingenieros de Google sostuvieron conversaciones sobre los esfuerzos de la compañía para lograr que Android se acerque lo más posible al núcleo principal de Linux. Esto no solo reduciría la sobrecarga técnica para Google y otras compañías, porque ya no tendrían que fusionar miles de cambios en cada nueva versión del kernel de Linux (y Google ya no tendría que admitir versiones del kernel de Linux durante seis años ), sino que podría También beneficia al proyecto Linux en su conjunto. Por ejemplo, el creciente número de teléfonos y computadoras Linux basados ​​en ARM podría mejorar el rendimiento y la duración de la batería.

La primera etapa de este proceso es fusionar la mayor cantidad posible de modificaciones de Android en el núcleo principal de Linux. A partir de febrero de 2018, el núcleo común de Android (en el que los OEM realizan cambios adicionales) tiene más de 32,000 inserciones y más de 1,500 eliminaciones en comparación con la línea principal Linux 4.14.0. Esa es una mejora de hace unos años, cuando Android agregó más de 60,000 líneas de código sobre Linux.

Para mostrar cuánto progreso se ha hecho, Tom Gall, el director del Grupo de Consumidores de Linaro, trajo un Xiaomi Pocophone al escenario que ejecutaba Android 10 sobre un núcleo Linux principal. Él le dijo a la audiencia: "hay apoyos importantes para el Equipo Kernel de Google, en particular para que su código sea ascendente para que podamos arrancar dispositivos con un núcleo de línea principal". Es probable que algunas de las funciones del teléfono no funcionen (el porcentaje de batería en la imagen se lee como 0%), pero sigue siendo impresionante.

Xiaomi Pocophone iniciando Android 10 sobre un núcleo Linux principal

El kernel de Android todavía recibe modificaciones de los fabricantes de chips (como Qualcomm y MediaTek) y ajustes por dispositivo de los OEM (como Samsung y LG). Google mejoró este proceso en 2017 con Project Treble , que separa los controladores específicos del dispositivo del resto de Android. La compañía quiere llevar esta tecnología al núcleo principal de Linux, lo que podría eliminar la necesidad de núcleos por dispositivo y acelerar aún más las actualizaciones de Android.

La idea propuesta por los ingenieros de Google es crear una interfaz en el kernel de Linux que permita que los controladores de dispositivos propietarios se ejecuten como módulos enchufables, por lo que no se necesitan modificaciones en el kernel en sí. En términos simples, traería la modularidad de Project Treble a Linux normal.

Por supuesto, esta es una empresa masiva que no se garantiza que tenga éxito. Google tendría que tener a sus socios de hardware de Android a bordo, y como señaló Ron Amadeo de Ars Technica, parte de la comunidad de Linux está en contra de la idea de una interfaz de kernel estable. Greg Kroah-Hartman, un desarrollador importante para Linux, ya ha escrito esto en archivos de documentación:

El desarrollo del kernel de Linux es continuo y a un ritmo rápido, sin detenerse nunca para disminuir la velocidad. Como tal, los desarrolladores del kernel encuentran errores en las interfaces actuales, o encuentran una mejor manera de hacer las cosas. [...] Esto está en marcado contraste con una serie de sistemas operativos de código cerrado que han tenido que mantener sus antiguas interfaces USB a lo largo del tiempo. Esto proporciona la capacidad para que los nuevos desarrolladores usen accidentalmente las interfaces antiguas y hagan cosas de manera incorrecta, lo que perjudica la estabilidad del sistema operativo. [Además,] si no se permitiera cambiar las interfaces internas, no sería posible solucionar [un] problema de seguridad y asegurar que no pudiera volver a ocurrir.

Cambiar Android a un núcleo Linux de vainilla e integrar un sistema similar a Project Treble en el núcleo de la línea principal es un esfuerzo enorme, y puede que nunca llegue a buen término. Mientras tanto, Google todavía está trabajando en su nuevo sistema operativo Fuchsia que algún día puede reemplazar a Android, con un núcleo personalizado que elimina muchos de los obstáculos técnicos relacionados con L