Foi publicado o lançamento do projeto CoreBoot 4.16, no âmbito do qual está sendo desenvolvida uma alternativa gratuita ao firmware proprietário e BIOS. O código do projeto é distribuído sob a licença GPLv2. Na criação da nova versão participaram 170 desenvolvedores, que prepararam 1770 alterações.
Principais inovações:
- Adicionado suporte para 33 placas-mãe, 22 das quais são usadas em dispositivos com Chrome OS ou em servidores Google. Entre as taxas que não são do Google:
- Acer Aspire VN7-572G
- amd chausie
- ASROCK H77 Pro4-M
- ASUS P8Z77-M
- Emulação QEMU power9
- RVP Intel Alderlake-N
- Prodrive Atlas
- Star Labs Star Labs StarBook Mk V (i3-1115G4 e i7-1165G7)
- System76 gaze16 3050, 3060 e 3060-b
- O suporte para placas-mãe Google Corsola, Nasher e Stryke foi descontinuado.
- Adicionado suporte para CPU Power9 e AMD Sabrina SoC.
- Adicionada uma opção para desabilitar o subsistema IME (Intel Management Engine), que vem na maioria das placas-mãe modernas com processadores Intel e é implementado como um microprocessador separado que opera independentemente da CPU e executa tarefas que precisam ser separadas do sistema operacional, como como processamento de conteúdo protegido (DRM), implementação de módulos TPM (Trusted Platform Module) e interfaces de baixo nível para monitoramento e controle de equipamentos. Para desabilitar o IME em sistemas com processadores da família Skylake para Alder Lake, o parâmetro me_state é utilizado no CMOS, atribuindo um valor 1 ao qual desabilitará o motor. Para alterar o estado CSME via CMOS, foi adicionado o método “.enable”, cujo estado corresponde ao parâmetro me_state.
- Adicionado coreboot-configurator, uma GUI simples para alterar as configurações CMOS no Coreboot CBFS usando o utilitário nvramtool.
- Adicionado o utilitário apcb_v3_edit para editar arquivos binários APCB V3 (AMD PSP Customization Block) e substituir até 16 SPD (Serial Presence Detect) neles.
- Submódulos amd_blobs, arm-trusted-firmware, blobs, chromeec, intel-microcode, qc_blobs e vboot atualizados.
- O código para configurar o LAPIC (Local Advanced Programmable Interrupt Controller) foi movido para MP init.
- Adicionado suporte para sequências de escape ANSI para destacar eventos importantes, como erros e avisos, ao exibir logs no console interativo.
- Função cbmem_dump_console implementada, semelhante a cbmem_dump_console_to_uart, mas funciona com consoles comumente configurados.
- As configurações de imagem ao vivo são adaptadas para funcionar com a distribuição NixOS 21.11. O pacote iasl foi descontinuado e substituído pelo acpica-tools.
- O bootloader U-Boot foi atualizado para a versão 2021.10.
- Adicionado suporte para sistemas com mais de 128 núcleos de CPU.
- Adicionado driver para sensores de proximidade Semtech sx9360 SAR usados em dispositivos Samsung.
- Adicionado driver para controladores SGenesys Logic GL9750 SD usados em Chromebooks.
- Adicionado suporte para controladores Ethernet Realtek RT8125.
- Adicionado driver para Fibocom 5G WWAN ACPI.
- Adicionado suporte para topologias de memória mista ao usar DDR4.
- Adicionado suporte para especificação FSP 2.3 (Flexible Software Package).
- O código para cálculo de hashes utilizado na verificação e avaliação do estado do CBFS foi reformulado
- Adicionado suporte para tecnologia PCI-e Resizable BAR (Base Address Registers), que permite à CPU acessar toda a memória de vídeo da placa PCI.
Além disso, é apresentado um plano de transição a partir da versão 4.18 para a quarta edição do mecanismo de alocação de recursos (RESOURCE_ALLOCATOR_V4), que adiciona suporte para manipulação de múltiplos intervalos de recursos, utilizando todo o espaço de endereçamento, e alocação de memória em áreas acima de 4 GB. O Coreboot 4.18, esperado para novembro, também planeja descontinuar o mecanismo clássico de inicialização de multiprocessador (LEGACY_SMP_INIT), substituindo-o pelo código de inicialização PARALLEL_MP.
Fonte: opennet.ru