Tras recibir una estación de trabajo Ampere Altra Max de Ampere Computing, Linus Torvalds ha estado trabajando más intensamente con ARM64, lo que le ha permitido realizar mejoras significativas en el kernel de ARM64 para la versión 6.11 de Linux.
Mejoras en la Instalación de Kernels Comprimidos en ARM64
Torvalds ha abordado una molestia relacionada con la instalación de imágenes de kernel comprimidas en ARM64. A diferencia de otras arquitecturas, el comando «make install» en ARM64 no instala la imagen comprimida del kernel por defecto, sino que se requiere ejecutar «make zinstall». Esta inconsistencia puede ser frustrante para los desarrolladores que trabajan con múltiples arquitecturas de CPU.
Nueva Opción Kconfig: COMPRESSED_INSTALL
El mantenedor de ARM64, Will Deacon, sugirió no cambiar el comportamiento predeterminado de «make install» en ARM64 debido a la variabilidad en la calidad de los cargadores de arranque. Como solución, Torvalds ha introducido una nueva opción Kconfig llamada «COMPRESSED_INSTALL». Al habilitar esta opción, la imagen comprimida se instalará por defecto al ejecutar «make install».
Detalles Técnicos
En el parche que ha sido fusionado en el Git de Linux 6.11, Torvalds explicó:
«En ARM64 construimos imágenes comprimidas, pero ‘make install’ por defecto instalará la versión no comprimida. Para obtener la instalación de la imagen comprimida, necesitas usar ‘make zinstall’, lo cual no es el método usual para instalar un kernel.»
«Esto puede no parecer un gran problema, pero cuando trabajas con múltiples arquitecturas (y años de tus dedos acostumbrados al comando regular ‘make install’), esta inconsistencia es bastante molesta.»
Comentarios de Will Deacon
Deacon expresó sus reservas sobre cambiar el comportamiento predeterminado de «make install» en ARM64, señalando que muchos cargadores de arranque no manejan bien las imágenes comprimidas:
«Lamentablemente, los cargadores de arranque no son tan confiables como uno esperaría, y no creo que podamos depender del soporte de descompresión en todos los casos. Nuestra Image.gz es literalmente eso: no tenemos un descompresor incorporado y el soporte reciente de EFI zboot resuelve ese problema para las plataformas que utilizan EFI.»
«Cambiar el objetivo predeterminado de ‘install’ me aterra. Hay usuarios con placas embebidas que han automatizado esto y podríamos arruinar su día si les damos en silencio un kernel comprimido que su cargador de arranque no puede manejar.»
Implementación de la Nueva Funcionalidad
La nueva opción «COMPRESSED_INSTALL» permite a los usuarios que confían en que su sistema y cargador de arranque pueden manejar imágenes comprimidas de ARM64, habilitar esta opción para que «make install» funcione sin problemas adicionales.
Conclusión
Linus Torvalds continúa mejorando la usabilidad del kernel de Linux para ARM64. La inclusión de la opción COMPRESSED_INSTALL en la versión 6.11 del kernel de Linux es un paso más hacia una experiencia más consistente y mejorada para los desarrolladores que trabajan con múltiples arquitecturas. Con esta y otras mejoras, el desarrollo en ARM64 se vuelve más accesible y eficiente.