De release van CoreBoot 4.22 is beschikbaar, waarin een vrije alternatieve ontwikkeling van propriëtaire firmware en BIOS plaatsvindt. De code van het project wordt verspreid onder de GPLv2-licentie. In de totstandkoming van deze nieuwe versie hebben 135 ontwikkelaars bijgedragen, die 977 wijzigingen hebben aangebracht. Het is opgemerkt dat het project vanaf de volgende uitgave zal overstappen op een nieuw naamgevingssysteem voor versies, waarbij een datumbinding wordt gebruikt (jaar.maand.update), bijvoorbeeld in februari 2024 in plaats van versie 4.23 zal versie 24.02.00 worden uitgebracht.
Belangrijkste wijzigingen:
- Een initiële implementatie van het AMD openSIL-platform (Open-Source Silicon Initialization Library) is toegevoegd, dat componenten ontwikkelt om het maken van firmware te vereenvoudigen.
- Ondersteuning voor 17 moederborden is toegevoegd. 11 van de toegevoegde borden worden gebruikt op apparaten met Chrome OS of op servers Google. Borden die niet met Google zijn verbonden:
- AMD Onyx
- Intel Meteorlake-P RVP
- Purism Librem 11
- Purism Librem L1UM v2
- Siemens FA EHL
- Supermicro X11SSW-F
- Ondersteuning voor SoC AMD Genoa is toegevoegd.
- Op de x86-architectuur is er tot aan de fase van geheugeninitialisatie ondersteuning voor de sectie '.data' geïmplementeerd, waardoor definities van globale variabelen in C-code kunnen worden gebruikt. In de opstartsectie worden gegevens direct na de code aangehecht en daarna in de cache geplaatst, gebruikmakend van het concept Cache-As-RAM (VMA).
- Voor x86-systemen op de ramstage en tijdens de fasen vóór geheugeninitialisatie is ondersteuning voor de cache van het CBFS-bestandssysteem, dat wordt gebruikt voor het plaatsen van Coreboot-componenten in flash, gerealiseerd. De CBFS-cache stelt in staat om CBFS-bestanden uit te pakken met de functie cbfs_map() zonder een aparte geheugengebied voor het bestand te reserveren. Voor het instellen van de cachegrootte zijn de parameters PRERAM_CBFS_CACHE_SIZE en RAMSTAGE_CBFS_CACHE_SIZE voorgesteld.
- De mogelijkheid om de romstage in de opstartsectie (bootblock) in te voegen is toegevoegd. De levering van romstage als onderdeel van het opstartblok vermindert de codegrootte met 10.000 tot 20.000 regels. Situaties waarin een aparte levering van romstage nodig kan zijn, omvatten configuraties met vboot of fallback-modus, evenals apparaten met een beperkte grootte van het opstartblok (Intel APL 32K) of een te langzame opstartdrager (sommige ARM SoC).
- In gfx is een API toegevoegd voor het detecteren van het bestaan van een extern scherm op apparaten met Intel-chips.
- In pci_rom is de mogelijkheid toegevoegd om een checksum voor VBIOS toe te voegen bij het invullen van de VFCT-tabel. Een dergelijke checksum wordt gecontroleerd door sommige AMD-drivers voor Windows.
- Wijzigingen zijn toegevoegd die het mogelijk maken om Windows op sommige Chromebook-apparaten met Coreboot te draaien.
- De generatie van de ACPI-tabel is geïmplementeerd voor apparaten op basis van de ARM64-architectuur.
- De compatibiliteit met ACPI-specificaties is verbeterd.
- De MRC-instellingen (Memory Reference Code) voor SNB+MRC-borden zijn verplaatst naar de DeviceTree-structuur.
- De payload-componenten op basis van U-Boot en edk2 zijn bijgewerkt.
- De gebruikte tools zijn bijgewerkt: GMP 6.3.0, binutils 2.41 en MPFR 4.2.1.
- De hoofdvertakking in de Git-repository is hernoemd van 'master' naar 'main'.
Bron: opennet.ru
