Hace 4 años | Por bonobo a xatakandroid.com
Publicado hace 4 años por bonobo a xatakandroid.com

No es que Android sea un sistema operativo de código abierto al completo u Open Source ya que, pese a estar basado en el kernel de Linux, y aunque exista una versión de sistema completamente libre (Android Open Source Project o AOSP), Google incluye en los dispositivos certificados una serie de aplicaciones y servicios propietarios. Android mantiene la base de Linux, su kernel o núcleo; sin que sea el mismo kernel que se utiliza en distros de Linux ya que empresas y fabricantes lo modifican para que se adapte mejor a móviles, tablets

Comentarios

comadrejo

Las empresas/fabricantes mandan muy pocos parches con fuentes para el núcleo.
Lo que hacen la mayoría de fabricantes es compilar unos controladores para una versión especifica de núcleo y ofrecen solo los binarios. Si cambias o actualizas el núcleo esos binarios no funcionan.

Este es el motivo por el que mucho terminales ARM nacen y mueren con el mismo núcleo, algo muy distinto a la plataforma x86_64 de PC donde el soporte de controladores incluidos en el núcleo es mucho mas extenso y mantenido.

orangutan

En este otro artículo https://blog.desdelinux.net/android-podria-utilizar-el-kernel-de-linux-sin-modificaciones-adicionales/ dicen:
En términos generales, corresponde a Google proponer una imagen genérica del núcleo (GKI) acompañada de módulos genéricos del núcleo. Google espera que este paquete exhiba un ABI estable y API.
...
Aunque menciona que la estabilización solo se dirige a versiones del kernel de Linux que tienen soporte a largo plazo (LTS). En esto se mencionan dos ramas: 4.19.xy 5.xy.

Esta propuesta por parte de Google todavía no es definitiva, porque, en opinión de los ingenieros de Google, el camino por recorrer sigue siendo considerable. Sin embargo, el enfoque de la empresa no está exento de controversia.

De hecho, uno de los principios de la comunidad Linux en torno a los núcleos vainilla es proporcionar un ABI inestable. La maniobra permite a los fabricantes de equipos abrir los controladores de sus periféricos e integrarlos en las ramas de desarrollo de la línea principal.

Al elegir proporcionar un ABI estable, Google debilita este dispositivo. Este posicionamiento tiene al menos una ventaja para los OEM y otros: el código fuente de sus controladores puede permanecer cerrado. Pero las desventajas también están presentes: no es posible la actualización de una versión del kernel de Linux a otra, ya que solo un LTS es compatible con el enfoque de Google.

En cualquier caso, hay una especie de guerra que arde lentamente. De hecho, los mantenedores de kernel vanilla tienen claro que no admiten bases de código fuera de las ramas dedicadas.

Google por su parte se lanza en el camino opuesto ya que ve de una forma proporcionar algún soporte técnico a los fabricantes que se apresurarán en esta brecha. De hecho, la pregunta es si Google puede conectar los recursos necesarios para que esta tarea compita en la escala del proyecto Linux