56 votos

¿Qué Android ejecuta qué núcleo de Linux?

¿Hay una lista de qué versión del kernel viene en cada versión de Android AOSP?

O digamos, qué versión /proc/version escupiría.

77voto

John Puntos 1057

Versión de Linux en AOSP

    Android Version    |API Level  |Linux Version in AOSP                    |Header Version
    ----------------------------------------------------------------------------------------
    1.5   Cupcake      |3          |(2.6.27)                                 |
    1.6   Donut        |4          |(2.6.29)                                 |2.6.18
    2.0/1 Eclair       |5-7        |(2.6.29)                                 |2.6.18
    2.2.x Froyo        |8          |(2.6.32)                                 |2.6.18
    2.3.x Gingerbread  |9, 10      |(2.6.35)                                 |2.6.18
    3.x.x Honeycomb    |11-13      |(2.6.36)                                 |2.6.18
    4.0.x Ice Cream San|14, 15     |(3.0.1)                                  |2.6.18
    4.1.x Jelly Bean   |16         |(3.0.31)                                 |2.6.18
    4.2.x Jelly Bean   |17         |(3.4.0)                                  |2.6.18
    4.3   Jelly Bean   |18         |(3.4.39)                                 |2.6.18
    4.4   Kit Kat      |19, 20     |(3.10)                                   |2.6.18
    5.x   Lollipop     |21, 22     |(3.16.1)                                 |3.14.0
    6.0   Marshmallow  |23         |(3.18.10)                                |3.18.10
    7.0   Nougat       |24         | 3.18.48 4.4.0                           |4.4.1
    7.1   Nougat       |25         | ?                                       |4.4.1
    8.0   Oreo         |26         | 3.18.72 4.4.83  4.9.44                  |4.10.0
    8.1   Oreo         |27         | 3.18.70 4.4.88  4.9.56                  |4.10.0
    9.0   Pie          |28         |         4.4.146 4.9.118 4.14.61         |4.15.0
   10.0   Q            |29         |                 4.9.191 4.14.142 4.19.71|5.0.3

Tabla recopilada de:

Nota: otras "distribuciones" de Android pueden ejecutar diferentes versiones del kernel.

Cualquiera puede corregir y ampliar esta tabla. Por favor, mantenga el formato.

Por qué no coinciden las versiones del sistema operativo y del núcleo de Android

Los fabricantes de equipos originales tienden a enviar sus principales actualizaciones de Android con un núcleo similar al que el dispositivo fue lanzado inicialmente. Esto es muy probable que evitar problemas de incompatibilidad de hardware y controladores con un núcleo más nuevo. Por ejemplo, un dispositivo que se ha actualizado para ejecutar Android 8.0 Oreo pero que originalmente se envió con 6.0 Marshmallow puede seguir ejecutando Linux 3.18.x en lugar de Linux 4.10.x.

Requisitos de Vendor Test Suite (VTS) en la versión de Linux

Según un artículo de 2017 en XDA-Developers (abreviado):

Un aspecto que ha dependido del OEM es la versión del kernel de Linux, pero esto está cambiando con Android Oreo.

Mientras el OEM fuera capaz de pasar las pruebas de certificación que Google establece, no les importaba la versión del kernel que se utilizaba en un nuevo dispositivo. En general, esto no era un problema, ya que la mayoría de los OEM utilizaban la misma versión del kernel para esa generación que otros OEM utilizaban, ya que está muy ligado a lo que soportan los controladores de hardware. Sin embargo, algunos se han ido perdiendo y esto ha empezado a causar problemas de seguridad. Esto es algo que Google se ha tomado muy en serio últimamente, así que tiene sentido que quiera empezar a imponerlo.

A partir de este año con los teléfonos inteligentes que se envían con Android Oreo, Google está exigiendo que todos los SoCs producidos en 2017 deben lanzarse con el núcleo 4.4 o más reciente.

Actualmente, los dispositivos existentes que se actualizan a Android Oreo solo deben ejecutar la versión 3.18 o más reciente del kernel, y no tendrán que actualizarse para soportar Project Treble.

Según https://Android.googlesource.com/platform/test/vts-testcase/kernel/ En la versión 8.0, 8.1 y 9.0 existía un requisito sobre la versión de Linux, VtsKernelConfigTest o VtsKernelVersionTest, pero posteriormente se eliminó en la 10.0. Para 8.0 y 8.1, requiere que la versión sea 3.18, 4.4 o 4.9. Para la 9.0, requiere que la versión sea al menos 4.4.107, 4.9.84 o 4.14.42.

Más información técnica y reciente disponible directamente en el sitio web de la AOSP: https://source.Android.com/devices/architecture/kernel/core-kernel-reqs

7 votos

No hay reglas estrictas. Por ejemplo, ICS/JB en el Zte Blade utilizó el kernel 2.6.35, ICS en el Sony Xperia Mini fue 2.6.32... tome esto con una pizca de sal ya que es sólo una guía :)

3 votos

Puedo ver completamente por qué los diferentes dispositivos que ejecutan la misma versión de Android ejecutarían diferentes núcleos, pero esta tabla es sólo una regla de oro y sí me gustaría un grano de sal con mi regla de oro =)

3 votos

¡Restrinjamos la tabla aquí a AOSP Android!

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X