Coreboot, la BIOS libre

La BIOS/UEFI es el primer programa que cargan todos los ordenadores personales comerciales del mundo: sobremesas, portátiles, híbridos, etc. El código fuente de todas la BIOS es desconocido, lo cual supone un problema para el mantenimiento y la seguridad del sistema.

Existen una gran cantidad de distribuciones que permiten instalar tan solo software libre, es decir, paquetes cuyo código fuente está disponible para el público. Esto evita la instalación principalmente de controladores propietarios además de otro software.

El problema viene cuando se pretende tener un sistema completamente libre (con todas las ventajas e inconvenientes que ello supone) y acaba resultando imposible porque la BIOS/UEFI, que es el primer programa que ejecutan todos los ordenadores y del que depende el funcionamiento de todo el sistema, es software propietario.

Este hecho impide tener un control absoluto sobre la máquina y no es posible asegurar de ninguna forma que el código que se ejecuta al inicio no posea ciertas funciones no deseadas como puertas traseras. Recientemente se han descubierto este tipo de agujeros de seguridad en algunos modelos de Lenovo y lo cierto es que nadie puede saber si otros fabricantes están usando tácticas similares.

Coreboot_menuconfig
Menú de configuración de Coreboot

Con otros problemas en mente, nació hace casi dos décadas un proyecto llamado LinuxBIOS que posteriormente fue renombrado a Coreboot. Se trata de una BIOS completamente libre que podría reemplazar a la BIOS propietaria que viene de fábrica.

Coreboot es un proyecto de código abierto cuyo fin es ofrecer las funciones más elementales al inicio del sistema para luego pasar a inicializar el hardware. Por último comienza la secuencia del arranque. Esta separación de tareas en el inicio permite implementar cosas tan interesantes como la ejecución de programas especializados directamente de la BIOS e incluso sistemas operativos completos sin necesidad de acceder a un medio de almacenamiento masivo.

Otras funciones interesantes son la posibilidad de controlar los ventiladores al arrancar y el hecho de que el tiempo de arranque es de tan solo 3 segundos. En estos momentos Coreboot ofrece soporte para unas 230 placas base de marcas de Asus, Asrock, Gigabyte y MSI entre otras.

El firmware además está disponible para una buena cantidad de portátiles ThinkPads antiguos aunque no se ve demasiada compatibilidad para placas modernas de Intel. En concreto se trata de las placas que montan procesadores basados en Haswell. Esta falta de compatibilidad se produce por la incorporación de una nueva función que impide el arranque del sistema si la BIOS/UEFI no está firmada, comprobando la misma con una clave pública incorporada en el southbridge de la placa, es decir, dentro del hardware (imposible de modificar). De este asunto, que supone un agujero de seguridad bastante importante en placas base modernas, hablamos hace unos meses.

Para saber más detalles de Coreboot, puedes visitar su wiki, donde encontrarás las instrucción para instalarlo en tu placa (si esta es compatible).