È stata pubblicata la versione 4.16 del progetto CoreBoot, che sviluppa un'alternativa open source ai firmware e BIOS proprietari. Il codice del progetto è distribuito sotto licenza GPLv2. Nella creazione di questa nuova versione sono stati coinvolti 170 sviluppatori che hanno preparato 1770 modifiche.
Novità principali:
- Aggiunta la compatibilità con 33 schede madri, 22 delle quali vengono utilizzate su dispositivi con Chrome OS o su server Google. Tra le schede non collegate a Google ci sono:
- Acer Aspire VN7-572G
- AMD Chausie
- ASROCK H77 Pro4-M
- ASUS P8Z77-M
- Emulazione QEMU power9
- Intel Alderlake-N RVP
- Prodrive Atlas
- Star Labs Star Labs StarBook Mk V (i3-1115G4 e i7-1165G7)
- System76 gaze16 3050, 3060 e 3060-b
- Interrotta la compatibilità con le schede madri Google Corsola, Nasher e Stryke.
- Aggiunta la supporto per CPU Power9 e SoC AMD Sabrina.
- È stata aggiunta l'opzione per disattivare il sottosistema IME (Intel Management Engine), presente nella maggior parte delle schede madri moderne con processori Intel. Questo sottosistema è realizzato come un microprocessore separato che opera in modo indipendente dalla CPU e svolge compiti da separare dal sistema operativo, come l'elaborazione di contenuti protetti (DRM), l'implementazione di moduli TPM (Trusted Platform Module) e interfacce a basso livello per il monitoraggio e la gestione dell'hardware. Per disattivare l'IME nei sistemi con processori a partire dalla famiglia Skylake fino ad Alder Lake, si utilizza il parametro me_state nel CMOS; l'assegnazione del valore 1 comporterà la disattivazione del motore. È stato aggiunto un metodo «.enable» per modificare lo stato CSME tramite il CMOS, il cui stato corrisponde al parametro me_state.
- È stato aggiunto un coreboot-configurator, un'interfaccia grafica semplice per modificare le impostazioni del CMOS nel Coreboot CBFS, utilizzando l'utility nvramtool.
- È stata aggiunta l'utility apcb_v3_edit per la modifica dei file binari APCB V3 (AMD PSP Customization Block) e per sostituire fino a 16 SPD (Serial Presence Detect).
- Sono stati aggiornati i sottocomponenti amd_blobs, arm-trusted-firmware, blobs, chromeec, intel-microcode, qc_blobs e vboot.
- Nel MP init è stato trasferito il codice per la configurazione del LAPIC (Local Advanced Programmable Interrupt Controller).
- Aggiunta il supporto per le sequenze di escape ANSI per evidenziare eventi importanti, come errori e avvisi, durante l'output dei log nella console interattiva.
- Implementata la funzione cbmem_dump_console, simile a cbmem_dump_console_to_uart, ma funzionante con console normalmente configurate.
- Le impostazioni dell'immagine Live sono state adattate per lavorare con la distribuzione NixOS 21.11. È stato interrotto il supporto per il pacchetto iasl, sostituito da acpica-tools.
- Il bootloader U-Boot è stato aggiornato alla versione 2021.10.
- Aggiunto il supporto per sistemi che includono più di 128 core CPU.
- Aggiunto il driver per i sensori di prossimità Semtech sx9360 SAR, utilizzati nei dispositivi Samsung.
- Aggiunto il driver per i controller SD SGenesys Logic GL9750, utilizzati nei Chromebook.
- Aggiunto il supporto per i controller Ethernet Realtek RT8125.
- Aggiunto il driver per il Fibocom 5G WWAN ACPI.
- Aggiunto il supporto per topologie di memoria miste nell'uso di DDR4.
- Aggiunto il supporto per la specifica FSP 2.3 (Flexible Software Package).
- Rielaborato il codice per il calcolo degli hash utilizzati nella verifica e nella valutazione dello stato del CBFS.
- È stata aggiunta la supporto per la tecnologia PCI-e Resizable BAR (Base Address Registers), che consente alla CPU di accedere a tutta la memoria video della scheda PCI.
Inoltre, è stato presentato un piano di transizione a partire dalla versione 4.18 per la quarta edizione del meccanismo di allocazione delle risorse (RESOURCE_ALLOCATOR_V4), che include il supporto per la gestione di più aree di risorse, l'uso dell'intero spazio degli indirizzi e l'allocazione di memoria oltre i 4 GB. Nella versione di Coreboot 4.18, attesa per novembre, si prevede anche l'annuncio della deprecazione del meccanismo di inizializzazione legacy per la modalità multiprocessore (LEGACY_SMP_INIT), il quale è stato sostituito dal codice di inizializzazione PARALLEL_MP.
Fonte: opennet.ru
