El kernel de Linux 5.0 RC1 está disponible con ARM big. Compatibilidad con LITTLE EAS, correcciones F2FS y mucho más

El kernel de Linux en el que se basan todos los dispositivos Android está recibiendo una actualización importante a la versión 5.0. Repasamos los cambios que son relevantes para los dispositivos móviles.

Si bien normalmente no cubrimos lo que sucede en el ámbito principal del kernel de Linux, es importante para nosotros realizar un seguimiento de lo que sucede con cada nueva versión del kernel, ya que Google exige un versión mínima del kernel de Linux requisito con cada nueva versión de Android. La reciente decisión de ampliar los lanzamientos de LTS de 2 a 6 años desempeñará un papel importante en la reducción de la fragmentación de los parches de seguridad, ya que los fabricantes de dispositivos tendrán que trabajar menos para respaldar los parches de seguridad. Además, el kernel principal a menudo integra nuevas funciones que son relevantes para los dispositivos móviles.

Por ejemplo, la primera Compilación del candidato de lanzamiento Recientemente se lanzó la próxima versión LTS del kernel: Linux kernel 5.0 RC1. Todavía quedan uno o dos meses antes del lanzamiento estable, pero ya podemos echar un vistazo a lo que vendrá en el próximo lanzamiento. Destacaré algunas de las actualizaciones que son relevantes para dispositivos móviles, pero le recomiendo que revise el registro de cambios completo si está interesado en el desarrollo de código abierto y el kernel de Linux.

BRAZO grande. POCO soporte EAS

Programación consciente de la energía ha existido en los dispositivos Android desde el lanzamiento del Pixel original. EAS es una de las razones por las que los dispositivos Google Pixel son generalmente más ágiles que sus competidores. Ya se ha habilitado el soporte para el lanzamiento del kernel Snapdragon 845 de Qualcomm, por lo que cualquier dispositivo con este SoC (o más nuevo) será compatible con EAS. Sin embargo, Linux no ha tenido soporte upstream para Energy Aware Scheduling hasta ahora. En teoría, el soporte upstream debería facilitar que los fabricantes de dispositivos y silicio implementen la tecnología en sus dispositivos. Sin embargo, para los usuarios finales, el soporte upstream no significa mucho.

soporte adiantum

Speck es un algoritmo de cifrado desarrollado por la NSA (Administración de Seguridad Nacional) que funciona bien en hardware de gama baja. Google destinado agregar soporte para speck, ya que ofrece soporte de cifrado de datos para dispositivos económicos con SoC que carecen de extensiones de cifrado aceleradas por hardware. La adopción de Speck fue ampliamente criticada debido a sus vínculos con la NSA. La compatibilidad con speck se eliminó en el kernel de Linux 4.20, y su reemplazo, Adiantum, funciona igual de bien, si no mejor, en hardware de gama baja con los sistemas de archivos EXT4/F2FS.

Correcciones de F2FS y EXT4

El sistema de archivos compatible con Flash, o F2FS, es ampliamente utilizado en dispositivos Android. Los Google Pixel 3 y Pixel 3 XL de forma oficial soporte F2FS, Por ejemplo. Aparentemente, Jaegeuk Kim, el desarrollador original de F2FS, envió una solicitud de fusión para muchas correcciones para el sistema de archivos al repositorio de Linux. Estos cambios solucionan los problemas de cifrado y la gestión del tiempo de inactividad, junto con correcciones de recolección de basura. Puedes ver todos los detalles en esta solicitud de extracción. En general, reparar F2FS mejora la estabilidad y confiabilidad en los teléfonos inteligentes Android que lo admiten o lo admitirán.

Del mismo modo, el popular sistema de archivos EXT4 ha recibido poco más de una docena de parches. EXT4 se utiliza en muchos dispositivos Android, como los últimos dispositivos OnePlus (incluido el OnePlus 5T, OnePlus 6 y OnePlus 6T).

Nuevo soporte de hardware ARM

Podría decirse que las distribuciones GNU/Linux son los mejores sistemas operativos para ejecutar en hardware basado en ARM. Ofrecen multitarea confiable basada en el modelo de código abierto. Los procesadores ARM están diseñados específicamente para realizar muchas tareas a la vez. Por eso es importante que el sistema operativo siga el ritmo del hardware. Como algunos de ustedes saben, la mayoría de los teléfonos inteligentes y tabletas con Android utilizan conjuntos de chips con arquitectura ARM. Los chips basados ​​en RISC son perfectos para ejecutar tareas cotidianas (que realiza en su teléfono inteligente). El kernel 5.0 de Linux agrega soporte para una gran cantidad de hardware ARM nuevo. Éstos son algunos de ellos:

  • TegraX2
  • Xavier Tegra
  • Allwinner F1C100
  • QCS404
  • Todo ganador T3
  • Paisaje de capas NXP LX2160

Además del soporte de compatibilidad universal para hardware ARM específico, el kernel de Linux 5.0 también ha mejorado la administración de energía.

Soporte de BinderFS

Android usa Binder para intercambiar argumentos entre diferentes procesos del sistema. Las aplicaciones, actividades y procesos utilizan Binder para iniciar y gestionar procesos. La seguridad en Android se basa en gran medida en los permisos UID. Binder verifica los UID proporcionados por las aplicaciones mediante llamadas IPC bidireccionales para confirmar que tiene acceso a la función que desea utilizar. BinderFS es una versión actualizada de Binder, pero es más especializada y compatible con el sistema. La compatibilidad con BinderFS no cambiará mucho para el usuario final, pero resolverá algunos problemas de implementación para los desarrolladores a largo plazo. Aquí está el compromiso relevante.

Marco de gestión del modelo energético

Otra adición más es el soporte para el Marco de Gestión del Modelo Energético. Este cambio es principalmente para desarrolladores de ARM y kernel. Ofrece una nueva capa de información estandarizada sobre el uso de energía de diferentes fuentes, como el árbol de dispositivos o los controladores. El consumo de energía y los informes se manejan de manera diferente tanto por el hardware como por el software. Energy Model Management Framework proporcionará una API estándar que puede ser utilizada por otro controlador en el kernel para acceder a información sobre el consumo de energía. En teoría, esto facilitará que los ingenieros y desarrolladores de software obtengan la información relevante del hardware. Puedes leer más sobre este marco. en este compromiso.

Soporte de autenticación de puntero ARM64

Todas las soluciones de hardware y software relevantes, especialmente en dispositivos móviles, necesitan protocolos de seguridad sólidos. Eso es lo que ofrece el kernel de Linux 5.0 con el soporte de autenticación de puntero ARM64. Dado que la mayoría de los teléfonos inteligentes tienen conjuntos de chips basados ​​en ARM64, es crucial que los atacantes no puedan explotar los punteros, que se utilizan en el kernel de Linux para acceder a las direcciones de memoria. El nuevo protocolo de autenticación compara punteros con claves secretas. La autenticación de puntero intentará evitar la programación orientada al retorno (ROP) y otros tipos de ataques.


Hay muchas más actualizaciones del kernel de Linux 5.0 que no cubrimos. La mayoría de ellos no significan mucho para los dispositivos Android, por eso tuvimos que seleccionar el registro de cambios. Si desea ver el 'registro de cambios' completo, consulte Forónix cobertura.

Gracias al desarrollador reconocido de XDA flar2 por ayudarme con este artículo.