Este disponibilă lansarea proiectului CoreBoot 4.22, în cadrul căruia se dezvoltă o alternativă liberă la firmware-urile și BIOS-urile proprietare. Codul proiectului este distribuit sub licența GPLv2. La crearea noii versiuni au participat 135 de dezvoltatori, care au pregătit 977 de modificări. Se menționează că începând cu următoarea lansare, proiectul va trece la un nou sistem de denumire a versiunilor, folosind legătura cu data (an.lună.actualizare), de exemplu, în februarie 2024, în loc de versiunea 4.23 va fi generată lansarea 24.02.00.
Modificări principale:
- A fost adăugată o implementare inițială a platformei AMD openSIL (Open-Source Silicon Initialization Library), care dezvoltă componente pentru simplificarea creării firmware-urilor.
- A fost adăugată suport pentru 17 plăci de bază. 11 dintre plăcile adăugate sunt utilizate pe dispozitive cu Chrome OS sau pe servere Google. Plăci care nu sunt legate de Google:
- AMD Onyx
- Intel Meteorlake-P RVP
- Purism Librem 11
- Purism Librem L1UM v2
- Siemens FA EHL
- Supermicro X11SSW-F
- A fost adăugat suport pentru SoC AMD Genoa.
- Pe arhitectura x86, în etapele anterioare inițializării memoriei, a fost implementat suportul pentru secțiunea „.data”, care permite utilizarea definițiilor variabilelor globale în codul C. În etapa blocului de boot, datele sunt anexate imediat după cod și apoi sunt stocate în cache, folosind conceptul Cache-As-RAM (VMA).
- Pentru sistemele x86, în etapa ramstage și în etapele anterioare inițializării memoriei, a fost implementat suportul pentru cache-ul sistemului de fișiere CBFS, utilizat pentru plasarea componentelor Coreboot pe Flash. Cache-ul CBFS permite desfășurarea fișierelor CBFS, folosind funcția cbfs_map() fără a rezerva o zonă separată de memorie pentru fișier. Pentru configurarea dimensiunii cache-ului, au fost propuse parametrii PRERAM_CBFS_CACHE_SIZE și RAMSTAGE_CBFS_CACHE_SIZE.
- A fost adăugată posibilitatea încorporării romstage în blocul de boot (bootblock). Furnizarea romstage ca parte a blocului de boot permite reducerea dimensiunii codului cu 10-20 de mii de linii. Dintre situațiile în care poate fi necesară o furnizare separată de romstage, se menționează configurațiile cu vboot sau modul de fallback, precum și dispozitivele cu dimensiuni limitate ale blocului de boot (Intel APL 32K) sau suporturi de boot prea lente (unele SoC ARM).
- În gfx a fost adăugat un API pentru determinarea prezenței unui ecran extern pe dispozitivele cu cipuri Intel.
- În pci_rom a fost implementată posibilitatea adăugării unei sume de control pentru VBIOS la completarea tabelului VFCT. O astfel de sumă de control este verificată de unele drivere AMD pentru Windows.
- Au fost adăugate modificări care permit rularea Windows pe anumite dispozitive Chromebook cu Coreboot.
- A fost implementată generarea tabelului ACPI pentru dispozitive bazate pe arhitectura ARM64.
- Compatibilitatea cu specificațiile ACPI a fost îmbunătățită.
- Setările MRC (Memory Reference Code) pentru plăcile SNB+MRC au fost mutate în structura DeviceTree.
- Componentelor payload bazate pe U-Boot și edk2 au fost actualizate.
- Instrumentele utilizate au fost actualizate: GMP 6.3.0, binutils 2.41 și MPFR 4.2.1.
- Ramura principală din depozitul Git a fost redenumită din „master” în „main”.
Sursa: opennet.ro
