CoreBoot 4.16 llega con soporte para 33 nuevas placas y mas
Hace pocos dias se dio a conocer el lanzamiento del proyecto CoreBoot 4.16, en el cual participaron cerca de 170 desarrolladores en la creación de la nueva versión y quienes prepararon 1770 cambios.
Para quienes desconocen de CoreBoot, deben saber que esta es una alternativa de código abierto al tradicional Sistema Básico de Entrada-Salida (BIOS) que ya se encontraba en las PCs MS-DOS 80s y reemplazándola con UEFI (Unified Extensible). CoreBoot es también un análogo gratuito de firmware patentado y está disponible para verificación y auditoría completas. CoreBoot se utiliza como firmware base para la inicialización del hardware y la coordinación de arranque.
Incluyendo la inicialización del chip gráfico, PCIe, SATA, USB, RS232. Al mismo tiempo, los componentes binarios FSP 2.0 (Intel Firmware Support Package) y el firmware binario para el subsistema Intel ME, que son necesarios para inicializar y lanzar la CPU y el chipset, están integrados en CoreBoot.
Principales novedades de CoreBoot 4.16
En esta nueva versión que se presenta se destaca que se agregó el soporte para 33 placas base, 22 de las cuales se usan en dispositivos Chrome OS o servidores de Google.
Entre las placas que recibieron el soporte y que no son de Google, podremos encontrar las siguientes
- Acer Aspire VN7-572G
- AMD Chausie
- ASROCK H77 Pro4-M
- ASUS P8Z77-M
- Emulación QEMU power9
- Intel Alderlake-N RVP
- Prodrive atlas
- Star Labs Star Labs StarBook Mk V (i3-1115G4 y i7-1165G7)
- System76 mirada16 3050, 3060 y 3060-b
Ademas podremos encontrar que se agregó la opción para deshabilitar el subsistema IME (Intel Management Engine), que viene con la mayoría de las placas base modernas con procesadores Intel y se implementa como un microprocesador separado que funciona independientemente de la CPU y realiza tareas que deben separarse del sistema operativo. Como el procesamiento de contenidos protegidos (DRM), la implementación de módulos TPM (Trusted Platform Module) e interfaces de bajo nivel para monitoreo y control de equipos.
Para deshabilitar IME en sistemas con procesadores desde la familia Skylake hasta Alder Lake, se utiliza el parámetro me_state en el CMOS, asignándole un valor de 1 al que deshabilitará el motor. Para cambiar el estado CSME a través de CMOS, se ha agregado el método «.enable», cuyo estado corresponde al parámetro me_state.
Otro de los cambios que se destaca de esta nueva versión es que se agregó coreboot-configurator, una GUI simple para cambiar la configuración de CMOS en Coreboot CBFS usando la utilidad nvramtool.
Tambien podremos encontrar que se agregó la utilidad apcb_v3_edit para editar archivos binarios APCB V3 (AMD PSP Customization Block) y sustituirlos por hasta 16 SPD (Serial Presence Detect).
Se actualizaron los submódulos amd_blobs, arm-trusted-firmware, blobs, chromeec, intel-microcode, qc_blobs y vboot y el código para configurar LAPIC (Controlador de interrupción programable avanzado local) se ha movido a MP init.
Por otra parte, se destaca que se agregó soporte para secuencias de escape ANSI para resaltar eventos importantes como errores y advertencias al iniciar sesión en la consola interactiva y que se implementó la función cbmem_dump_console, similar a cbmem_dump_console_to_uart, pero funciona con consolas configuradas normalmente.
De los demás cambios que se destacan de esta nueva version:
- Se eliminó el soporte para las placas base Google Corsola, Nasher y Stryke.
- Se agregó soporte para CPU Power9 y SoC AMD Sabrina.
- Ajustes de imagen en vivo adaptados para trabajar con la distribución NixOS 21.11. El paquete iasl ha sido descontinuado y ha sido reemplazado por acpica-tools.
- El cargador de arranque U-Boot se ha actualizado a la versión 2021.10.
- Se agregó soporte para sistemas con más de 128 núcleos de CPU.
- Controlador agregado para sensores de proximidad SAR Semtech sx9360 utilizados en dispositivos Samsung.
- Controlador agregado para los controladores SD SGenesys Logic GL9750 utilizados en
- Chromebooks.
- Se agregó soporte para controladores Ethernet Realtek RT8125.
- Controlador agregado para Fibocom 5G WWAN ACPI.
- Se agregó soporte para topologías de memoria mixta cuando se usa DDR4.
- Se agregó soporte para la especificación FSP 2.3 (paquete de software flexible).
- Código rediseñado para el cálculo de hashes utilizados en la verificación y evaluación del estado de CBFS
- Se agregó soporte para la tecnología PCI-e Resizable BAR (Base Address Registers), que permite que la CPU acceda a toda la memoria de video de una tarjeta PCI.
Además, se proporciona un plan de transición a partir de la versión 4.18 a la cuarta edición del mecanismo de asignación de recursos (RESOURCE_ALLOCATOR_V4), que agrega soporte para manipular múltiples rangos de recursos, usar todo el espacio de direcciones y asignar memoria en áreas superiores a 4 GB.
En el lanzamiento de Coreboot 4.18, que se espera para noviembre, también está previsto dejar obsoleto el mecanismo clásico de inicialización de multiprocesador (LEGACY_SMP_INIT), que fue reemplazado por el código de inicialización PARALLEL_MP.
Si estás interesado en poder conocer más al respecto sobre esta nueva versión, puedes consultar los detalles en el siguiente enlace.
Obtener CoreBoot
Finalmente, para quienes estén interesados en poder obtener esta nueva versión de CoreBoot pueden hacerlo desde su sección de descargas, que se encuentra dentro de su página web oficial del proyecto.
Además de que en ella podrán encontrar documentación y más información sobre el proyecto.