Linux 7.3 pone fecha de caducidad a varias plataformas ARM que llevan años sobreviviendo

Elígenos como tu fuente preferida en Google.
Linux dice adiós a hardware y software obsoleto que ha estado presente en el kernel durante las últimas décadas, con el objetivo de que mantener el núcleo sea mucho más fácil.
Del núcleo de Linux no se puede decir que no busque siempre un equilibrio entre el hardware más nuevo y el más antiguo, aunque este último hay ocasiones en las que se convierte ya más en un lastre que hay que soltar para aligerar el sistema.
Con el lanzamiento de Linux 7.3, se ha llevado a cabo una gran limpieza de código. En este sentido, Arnd Bergmann, uno de los mantenedores más conocidos, ha realizado varios cambios para marcar de forma oficial como obsoletas a varias plataformas de 32 bits basadas en ARM, por lo que se abre el camino para la eliminación de cientos de controladores antiguos en las futuras versiones.
Y este salto tiene mucho sentido. En los procesadores modernos de 64 bits, el soporte mantiene un estándar que pueden seguir todos los desarrolladores, mientras que en el ecosistema de 32 bits en ARM la fragmentación dificulta muchísimo el trabajo.
Por ejemplo, para mantener el soporte en una placa de desarrollo ARM, se tenían que escribir archivos de configuración específicos en el lenguaje C que se integraban directamente en el código del núcleo, los conocidos como legacy board files.
Linux adoptó con el tiempo un sistema que permitía describir el hardware en una especie de árbol de dispositivos con archivos externos separados, para que el núcleo pudiera funcionar en placas diferentes sin tener que ser compilado de forma constante.
Ahora, con Linux 7.3, ya se ha puesto fecha de caducidad a 22 de los últimos 28 archivos heredados que usaban antiguos chips de Intel y Marvell y que, cabe destacar, ya no mantienen usuarios activos. Por el contrario, hay aún 6 archivos antiguos que se salvan, para los chips TI OMAP1 y Samsung s3c64xx, que sí cuentan aún con usuarios.
En esta lista de hardware obsoleto también se añaden los núcleos de CPU Cortex-M3, M4 y M7, además del ARM1136r0 y las 25 máquinas relacionadas con estos. Es cierto que algunos usan el árbol de dispositivos mencionado, pero mantener la compatibilidad a nivel de procesador requiere de un volumen de trabajo muy importante para los desarrolladores.
Curiosamente, sí se salvan de quedar obsoletas la tablet Nokia N800/N810 y la plataforma Buglabs BUG.
Linux 7.3 y una limpieza a fondo ya necesaria
La versión Linux 7.3 también declara obsoletos a varios elementos de software, como los formatos de binarios be8, be32, oabi e iwmmxt. El término OABI –Old Application Binary Interface, por su acrónimo del inglés– forma parte del principio de Linux en ARM, pero fue reemplazado hace ya 20 años por EABI, que es bastante más eficiente.
El mantenimiento de OABI requería también de numerosos cambios técnicos que podía afectar a la optimización general del núcleo, por lo que se ha decidido dar carpetazo a estos formatos de binarios obsoletos.
Y así lo ha expresado Arnd Bergmann en la lista de correo de los mantenedores del kernel de Linux, ya que considera que los sistemas de 32 bits ya han quedado comercialmente obsoletos para nuevos desarrollo: el 90% de los dispositivos todavía corren con procesadores ARM y bastantes de estos usan ARMv7 de 32 bits, pero la transición hacia los 64 bits es inevitable.
Precisamente, el número de configuración del árbol de dispositivos para ARMv8 de 64 bits ha superado por primera vez a ARMv7 de 32 bits. En cualquier caso, quienes tengan aún hardware antiguo podrán usar la versión LTS de Linux 7.3 sin ningún tipo de problema.
Esta eliminación definitiva se probará totalmente en Linux 7.4 y versiones posteriores, momento en el que finalmente quedarán obsoletos cientos de controladores, eliminando todos estos de la base del código del kernel.
Por otro lado, mientras que Linux 7.3 dice adiós a todas estas tecnologías, también añade hardware de última generación, con soporte inicial para la familia de chips de Apple M3 Pro, Max y Ultra, el Samsung Exynos 1580, el Cannan K210 y el Sophgo SG2000, este último un procesador que mezcla núcleos Cortex-A53 de ARM con arquitectura RISC-V.
