Libreboot 20230413 ya fue liberado y estas son sus novedades
Se dio a conocer el lanzamiento del firmware de arranque Versión de Libreboot 20230413, la cual está marcada como una versión beta de pruebas, pero que los desarrolladores catalogan como “estable”. Este lanzamiento como tal es una versión de corrección de errores relativa a Libreboot 20230319 (lanzada el pasado 19 de marzo de 2023).
Para quienes desconocen de Libreboot, deben saber que este es un proyecto que desarrolla una bifurcación completamente libre del proyecto CoreBoot, que proporciona un reemplazo libre de binarios para el firmware propietario UEFI y BIOS responsable de inicializar la CPU, la memoria, los periféricos y otros componentes de hardware.
Libreboot proporciona firmware de arranque para máquinas x86/ARM compatibles, iniciando un cargador de arranque que luego carga su sistema operativo. Reemplaza el firmware propietario BIOS/UEFI en máquinas x86 y proporciona una configuración mejorada en Chromebooks basados en ARM compatibles (cargador de arranque U-Boot, en lugar del cargador de arranque de carga profunda de Google).
En las máquinas x86, las cargas útiles de GRUB y SeaBIOS coreboot son oficialmente compatibles y se proporcionan en diferentes configuraciones por máquina. Puede encontrar la lista de hardware compatible en la documentación de Libreboot.
Principales novedades de Libreboot 20230413
En esta nueva versión que se presenta, se menciona que prioridad de este lanzamiento fueron las correcciones y mejoras realizadas en el sistema de compilación y es que se realizo una limpieza de código principal en util/nvmutil, lo que redujo el recuento de SLOC a 315 líneas, mientras que en la versión anterior eran 386 líneas de código. Con ello se ha logrado reducir el tamaño de los binarios compilados en un 7 %, según lo probado con TCC en un host x86_64. Esta reducción del tamaño del código se proporciona sin reducir ninguna funcionalidad.
Ademas de ello, se menciona que a diferencia de coreboot en donde ya no se realizarán más cambios de código a menos que sea necesario, los desarrolladores de Libreboot continuara trabajando para admitir más hardware.
Por la parte de las correcciones se menciona que se excluyeron de esta nueva versión de Libreboot 20230413 algunas placas problemáticas y que ahora se han eliminado del sistema de compilación Libreboot, aunque se volverán a agregar en una versión futura.
De los demás cambios que se destacan de esta nueva versión:
- Las secuencias de comandos de inserción para las ROM posteriores al lanzamiento de sandybridge/ivybridge/haswell ahora son mucho más fáciles de usar y menos propensas a errores.
- Imágenes ROM MRC W541/T440p añadidas de nuevo
- blobutil/inject: En relación con la solución a continuación (cortesía shmalebx9), los archivos de imagen ROM en las versiones ahora contienen listas de hash SHA1.
- blobutil/inject: ahora es posible insertar imágenes MRC y ME neutralizadas, cuando sea necesario en placas base específicas, en todas las imágenes ROM de un archivo tar determinado, además de imágenes ROM individuales.
- Chromebooks daisy/peach eliminados: se cree que las máquinas arrancan correctamente, con el código coreboot y u-boot correcto, pero lbmk actualmente no maneja los cargadores de arranque BL1 en estas máquinas, y esto se pasó por alto antes; las imágenes de estas máquinas también se han eliminado de versiones anteriores. Estos se volverán a agregar en una futura versión de Libreboot.
- Chromebooks veyron eliminados por ahora: u-boot no funciona en absoluto en esas placas (problemas de video), la última revisión conocida que funcionó en veyron fue 2021.01, por lo que probablemente se pueda hacer un git-bisect. Estos tableros se volverán a agregar en una futura versión de Libreboot.
- util/nvmutil: Se corrigió la verificación defectuosa de la dirección MAC 00:00:00:00:00:00: el total se restablecía para cada palabra, incorrectamente.
- blobutil/download: ahora admite la extracción me.binde archivos LZMA, además de archivos inno; en la práctica, lbmk actualmente solo es compatible con máquinas de las que se extraen archivos inno, pero existen nuevos puertos experimentales fuera de masterlos que estarán presentes en versiones futuras.
- blobutil/download: ya no codifica la me.binruta al extraer actualizaciones durante la descarga automática. Al compilar imágenes ROM, lbmk ahora lo hace por fuerza bruta, encontrando automáticamente la ubicación correcta de la imagen ME dentro de los archivos del proveedor; esto funciona bien en archivos inno/lzma.
- Se agregó la dependencia faltante en el script de instalación de dependencias de Arch Linux, parche cortesía de Andreas Hartmann.
Finalmente si estás interesado en poder conocer más al respecto sobre esta nueva versión, puedes consultar los detalles en el siguiente enlace.