Coreboot 25.09 przyspiesza czas rozruchu i rozszerza obsługę nowych płyt głównych

coreboot-miniaturka

Projekt Coreboot, znana darmowa alternatywa dla zastrzeżonego BIOS-u i oprogramowania sprzętowego, wydała nową wersję 25.09, która obejmuje 684 zmiany opracowane przy współpracy 110 programistów, co pokazuje dynamikę i witalność społeczności.

Jedną z najważniejszych nowości jest dodanie obsługi nowych płyt głównych, w tym modeli firm ASROCK, GIGABYTE, HP, Intel i Lenovo, co znacznie zwiększa kompatybilność projektu z nowoczesnymi komputerami stacjonarnymi, stacjami roboczymi i laptopami.

Główne nowe funkcje Coreboot 25.09

jeden z najbardziej wybitnych aspektów Coreboot 25.09 to znacząca poprawa wydajności rozruchu, dzięki licznym optymalizacjom w przepływie pamięci masowej i dekompresji ładunku. implementacja instrukcji SSE dla dekompresji LZMA umożliwiło kontrolerowi SPI wstępne załadowanie danych do pamięci podręcznej procesora bez zatrzymywania operacji dekompresji, co pozwoliło osiągnąć 30% przyspieszenie i skrócenie czasu rozruchu o 46 milisekund w testach przeprowadzonych na komputerze Lenovo X220.

Ponadto Platformy Intel Panther Lake debiutują z asynchronicznym systemem ładowania plików który wykorzystuje SPI DMA do wstępnego załadowania pliku fsps.bin, podczas gdy procesor wykonuje inne zadania. Ta technika przetwarzania równoległego Udaje się skrócić czas rozruchu o 17–18 milisekund, zwiększając wydajność bez uszczerbku dla stabilności.

Coreboozawiera również nowe funkcje synchronizacji, takich jak cbfs_preload_wait_for_all(), które zapewniają bezpieczne zakończenie operacji przed wyłączeniem zaplecza pamięci masowej. Podsystem Fast SPI DMA, oparty teraz na kolejce transferowej opartej na tokenach, oferuje bardziej przewidywalną i stabilną wydajność w złożonych środowiskach obciążenia.

Zaawansowane wykrywanie trybu rozruchu i zarządzanie energią

Kolejną kluczową poprawą jest Implementacja struktury informacji o trybie rozruchu, który wprowadza znacznik LB_TAG_BOOT_MODE do wewnętrznych tabel Coreboot. System ten umożliwia bezpośrednie informowanie ładunków o stanie rozruchu, niezależnie od tego, czy jest w trybie normalnym, w trybie niskiego poziomu naładowania baterii, czy w trybie ładowania.

Ta innowacja eliminuje potrzebę stosowania ładunków w celu ponownego wdrożenia logiki wykrywania baterii, upraszczając zarządzanie energią i zapewniając stałą dostępność danych o stanie, nawet na wczesnych etapach oprogramowania sprzętowego. Ponadto nowa funkcja lb_add_boot_mode() pozwala platformom dostosować wykrywanie do swoich specyficznych potrzeb bez utraty wstecznej kompatybilności.

Oprócz tego podkreśla się również, żeZespół programistów całkowicie przebudował sposób zarządzania rekordami MTRR. W przypadku pamięci graficznej, przenosząc jej konfigurację na wcześniejszy etap procesu inicjalizacji układu scalonego. Ta modyfikacja, zastosowana w module FSP-S (Firmware Support Package – Silicon), skróciła czas inicjalizacji podsystemu graficznego ze 123 do 115 milisekund.

Funkcja soc_mark_gfx_memory() ustawia rejestry Write-Combined (WC) na wczesnym etapie procesu rozruchu, poprawiając wzorce dostępu do pamięci podczas ładowania oprogramowania układowego karty graficznej. Ta zmiana, oprócz poprawy wydajności, ułatwia konserwację kodu i zapewnia bardziej spójne wykonywanie w różnych środowiskach.

Ogólne ulepszenia i rozbudowa ekosystemu

Coreboot 25.09 wprowadza szereg dodatkowych udoskonaleń, spośród których należy wyróżnić następujące: Optymalizacje w narzędziu amdfwtool, który oferuje teraz rozszerzone wsparcie dla platformy Turyn i aktualizacja smmstoretool, który obsługuje zmienne rozmiary bloków i aliasy GUID w celu lepszego zarządzania zmiennymi UEFI.

Obsługa TPM (Moduł zaufanej platformy) został rozszerzony o integrację z fTPM dla platform AMD, ulepszone renderowanie logo i obsługa sterowników wyświetlacza Bochs. Wdrożono również środki mające na celu poprawę stabilności i bezpieczeństwa systemu podczas kompresji i zapisu pamięci flash.

Na poziomie narzędzi i zależności w tej wersji zaktualizowano kilka kluczowych komponentów: binutils 2.44, ACPICA 20250404, MPFR 4.2.2, SeaBIOS 1.17.0, U-Boot 2025.07 oraz udoskonalono LinuxBoot i Libpayload, zapewniając lepszą koordynację w zarządzaniu trybem rozruchu i obsługę nowszych architektur.

Na koniec warto wspomnieć, że wydanie kolejnej wersji, Coreboot 25.12, planowane jest na koniec grudnia tego roku, co pozwoli na utrzymanie stałego tempa rozwoju projektu.

źródło: https://github.com/coreboot