È disponibile il rilascio del progetto CoreBoot 4.22, che sviluppa un'alternativa libera ai firmware e BIOS proprietari. Il codice del progetto è distribuito con licenza GPLv2. Nella creazione della nuova versione hanno partecipato 135 sviluppatori, che hanno preparato 977 modifiche. Si segnala che a partire dal prossimo rilascio il progetto passerà a un nuovo schema di denominazione delle versioni, usando il legame con la data (anno.mese.aggiornamento); ad esempio, a febbraio 2024 invece della versione 4.23 verrà generato il rilascio 24.02.00.
Principali modifiche:
- È stata aggiunta l'implementazione iniziale della piattaforma AMD openSIL (Open-Source Silicon Initialization Library), che sviluppa componenti per semplificare la creazione di firmware.
- È stato aggiunto il supporto per 17 schede madri. 11 delle schede aggiunte vengono utilizzate su dispositivi con Chrome OS o su server Google. Schede non correlate a Google:
- AMD Onyx
- Intel Meteorlake-P RVP
- Purism Librem 11
- Purism Librem L1UM v2
- Siemens FA EHL
- Supermicro X11SSW-F
- È stato aggiunto il supporto per il SoC AMD Genoa.
- Sull'architettura x86, nelle fasi precedenti all'inizializzazione della memoria, è stata implementata la supporto per la sezione «.data», permettendo l'uso di definizioni di variabili globali nel codice in linguaggio C. Nella fase del boot block, i dati vengono collegati subito dopo il codice e poi memorizzati nella cache, utilizzando il concetto di Cache-As-RAM (VMA).
- Per i sistemi x86, nelle fasi ramstage e precedenti all'inizializzazione della memoria, è stato implementato il supporto per la cache del file system CBFS, utilizzata per la posizione dei componenti Coreboot su Flash. La cache CBFS consente di estrarre file CBFS, utilizzando la funzione cbfs_map() senza riservare un'area di memoria separata per il file. Per configurare la dimensione della cache sono stati proposti i parametri PRERAM_CBFS_CACHE_SIZE e RAMSTAGE_CBFS_CACHE_SIZE.
- È stata aggiunta la possibilità di incorporare romstage nel boot block. L'inclusione di romstage nel boot block consente di ridurre la dimensione del codice di 10-20 mila righe. Tra le situazioni in cui potrebbe essere necessaria un'installazione separata di romstage vi sono configurazioni con vboot o modalità di fallback, nonché dispositivi con dimensioni limitate del boot block (Intel APL 32K) o supporti di avvio troppo lenti (alcuni SoC ARM).
- In gfx è stato aggiunto un API per determinare la presenza di un monitor esterno sui dispositivi con chip Intel.
- In pci_rom è stata implementata la possibilità di aggiungere una somma di controllo per il VBIOS durante la compilazione della tabella VFCT. Tale somma di controllo è verificata da alcuni driver AMD per Windows.
- È stata attuata una modifica che consente di avviare Windows su alcuni dispositivi Chromebook con Coreboot.
- È stata realizzata la generazione della tabella ACPI per i dispositivi basati sull'architettura ARM64.
- È stata migliorata la compatibilità con le specifiche ACPI.
- Le impostazioni MRC (Memory Reference Code) per le schede SNB+MRC sono state trasferite nella struttura DeviceTree.
- Le componenti payload sono state aggiornate basandosi su U-Boot e edk2.
- È stato aggiornato l'insieme di strumenti utilizzati: GMP 6.3.0, binutils 2.41 e MPFR 4.2.1.
- Il ramo principale nel repository Git è stato rinominato da «master» a «main».
Fonte: opennet.ru
