El proyecto GNU avanza en la diversificación de plataformas con un nuevo paso técnico relevante para Hurd, su sistema operativo de tipo microkernel.
GNU/Hurd, uno de los sistemas más longevos y menos utilizados del ecosistema libre, da señales de apertura hacia nuevas arquitecturas con la incorporación de soporte inicial para procesadores RISC-V en el compilador GCC 16, actualmente en desarrollo. Este movimiento, anunciado en el repositorio oficial del compilador el pasado 18 de abril, marca un hito en la historia del proyecto Hurd, tradicionalmente ligado al hardware x86 y con importantes limitaciones técnicas acumuladas a lo largo de los años.
Primeros pasos con RISC-V
El cambio se ha introducido mediante un commit realizado por el desarrollador Hakan Candar y aprobado por Jeff Law, en el que se añaden los targets riscv*-*-gnu*
al árbol de configuración del compilador. Esta modificación permite, por primera vez, construir binarios para sistemas GNU/Hurd destinados a plataformas con arquitectura RISC-V, una ISA abierta que está ganando tracción en múltiples sectores, desde la investigación académica hasta aplicaciones industriales.
Según detalla el parche, se ha creado un nuevo fichero de configuración específico (gnu.h
) dentro del directorio correspondiente a RISC-V en GCC, donde se definen aspectos como el linker dinámico, los modos de enlace, las opciones específicas de arquitectura y soporte para la directiva .init_array
. Esta última es especialmente relevante, ya que facilita la correcta inicialización de ejecutables durante el arranque del sistema.
Hurd y su compleja relación con el hardware
Aunque Hurd ha sido históricamente un proyecto con ambiciones altas dentro del universo GNU —pretendía ser el núcleo que reemplazara a Linux bajo una arquitectura más purista—, su progreso ha sido lento y tortuoso. El soporte completo para arquitecturas modernas como x86_64 aún está en fase experimental, y su compatibilidad con controladores y dispositivos contemporáneos es limitada.
Hasta hace apenas dos años, los desarrolladores del proyecto se mostraban reticentes a portar Hurd a RISC-V, optando en cambio por explorar la arquitectura AArch64 como opción más factible. Sin embargo, el creciente apoyo comunitario y la madurez alcanzada por RISC-V, así como su filosofía abierta, parecen haber modificado esta visión.
Qué implica este avance
A pesar de que aún no hay un sistema completo GNU/Hurd ejecutándose en RISC-V, este cambio en GCC 16 es un primer paso imprescindible para que ello sea posible. Contar con una cadena de herramientas capaz de generar código binario funcional es el prerrequisito fundamental para comenzar los trabajos de portabilidad del núcleo y del espacio de usuario.
La iniciativa refleja, además, el interés del ecosistema del software libre por extenderse a arquitecturas emergentes y reducir su dependencia de plataformas cerradas como x86 de Intel o AMD. De consolidarse este camino, GNU/Hurd en RISC-V podría convertirse en un entorno interesante para investigación y pruebas de concepto, al tiempo que refuerza la diversidad tecnológica del proyecto GNU.
Próximos pasos
El desarrollo de GCC 16 se encuentra en sus primeras etapas tras la reciente bifurcación del código base de GCC 15. Es previsible que en los próximos meses se añadan más mejoras específicas para este nuevo target, y que, en paralelo, los desarrolladores del sistema Hurd comiencen a experimentar con una versión funcional del núcleo adaptado a esta arquitectura.
Por ahora, se trata de un paso técnico importante, pero queda mucho por recorrer antes de ver un sistema GNU/Hurd sobre RISC-V funcionando de forma estable. Aun así, este avance refleja un renovado interés por mantener vivo un proyecto que, a pesar de sus dificultades históricas, sigue sorprendiendo por su resiliencia y ambición tecnológica.
Fuente: GCC GNU