Coreboot w ThinkPadzie T420 daje sporo możliwości, ale sam firmware to tylko część układanki. Po zakończeniu inicjalizacji sprzętu Coreboot musi jeszcze przekazać sterowanie do payloadu, który odpowiada między innymi za dalszy proces uruchamiania systemu. Przez dłuższy czas w moim T420 korzystałem z EDK2, czyli rozwiązania zapewniającego środowisko UEFI. Postanowiłem jednak sprawdzić, jak ten sam komputer będzie zachowywał się z klasycznym SeaBIOS.

Eksperyment okazał się ciekawszy, niż początkowo zakładałem. Sam SeaBIOS działał bardzo dobrze, dodatkowe payloady Coreboota również dało się uruchomić, a CachyOS ostatecznie wystartował w trybie Legacy BIOS. Mimo to po kilku testach wróciłem do EDK2. Nie dlatego, że SeaBIOS był niestabilny, lecz dlatego, że w przypadku mocno zmodyfikowanego ThinkPada T420 środowisko UEFI po prostu lepiej pasuje do całej konfiguracji.

Coreboot i payload – dlaczego sam firmware to nie wszystko?

Coreboot odpowiada przede wszystkim za inicjalizację sprzętu. Uruchamia procesor, pamięć RAM, chipset i inne elementy platformy, a następnie przekazuje sterowanie dalej. W przeciwieństwie do klasycznego BIOS-u czy UEFI nie musi jednak sam zapewniać kompletnego interfejsu startowego.

Do tego służą payloady.

W zależności od konfiguracji Coreboot może uruchomić między innymi SeaBIOS, EDK2, GRUB-a, FILO czy różne niewielkie narzędzia diagnostyczne. Możliwe jest również umieszczenie kilku payloadów w jednym obrazie firmware.

W praktyce oznacza to, że dwa komputery korzystające z tego samego Coreboota mogą zachowywać się zupełnie inaczej w zależności od wybranego payloadu.

W moim przypadku przez długi czas podstawowym payloadem był EDK2. Dzięki temu ThinkPad zachowywał się pod względem uruchamiania systemu bardzo podobnie do współczesnego komputera z UEFI.

SeaBIOS reprezentuje zupełnie inne podejście. Jego zadaniem jest zapewnienie klasycznego środowiska BIOS zgodnego ze starszym sposobem uruchamiania systemów operacyjnych.

Dlaczego postanowiłem sprawdzić SeaBIOS?

Powód był w dużej mierze techniczny, ale również trochę sentymentalny.

SeaBIOS bardzo dobrze pasuje do idei Coreboota. Jest niewielki, prosty i uruchamia się szybko. Dodatkowo daje dostęp do klasycznego menu startowego oraz pozwala uruchamiać inne payloady znajdujące się w CBFS.

Mój ThinkPad T420 przeszedł jednak sporo modyfikacji. Obecnie pracuje w nim czterordzeniowy Intel Core i7-3740QM generacji Ivy Bridge, 16 GB pamięci RAM, matryca Full HD IPS podłączona przez adapter LVDS-eDP oraz nowocześniejsza karta Wi-Fi. Systemem jest CachyOS.

To już nie jest więc typowy T420 z 2011 roku.

Tym bardziej byłem ciekawy, jak taka konfiguracja będzie współpracowała z klasycznym SeaBIOS.

Budowa nowego Coreboota z SeaBIOS dla T420

Nie chciałem eksperymentować na przypadkowym obrazie firmware. Zbudowałem więc nowy ROM na tej samej wersji Coreboota, która wcześniej dobrze działała w laptopie.

Bazą był Coreboot 4.22.01. Jako główny payload wybrałem SeaBIOS 1.16.2.

Do obrazu dodałem również kilka dodatkowych payloadów:

  • TINT – prostą grę tekstową uruchamianą bez systemu operacyjnego
  • coreinfo – narzędzie pokazujące informacje o platformie Coreboot
  • nvramcui – interfejs pozwalający zmieniać część ustawień Coreboota
  • Memtest86+ – narzędzie do testowania pamięci RAM

To jeden z ciekawszych elementów Coreboota. Po uruchomieniu komputera można wejść do menu SeaBIOS i wystartować narzędzia znajdujące się bezpośrednio we flashu, bez dysku i bez systemu operacyjnego.

Sam obraz miał 8 MB, czyli dokładnie tyle, ile kość SPI w ThinkPadzie T420.

Przed flashowaniem wykonałem kilka kopii obecnej zawartości kości i porównałem regiony Intel Flash Descriptor, Management Engine, GbE oraz BIOS. Ostatecznie zdecydowałem się zapisać wyłącznie region BIOS.

To rozsądne podejście przy eksperymentach z payloadem, ponieważ pozostałe regiony firmware nie wymagają wtedy żadnych zmian.

Gotowy obraz Coreboot + SeaBIOS dla Lenovo ThinkPad T420/i

Do pobrania udostępniam przygotowany obraz regionu BIOS dla ThinkPada T420 z Corebootem i SeaBIOS.

Plik zawiera wyłącznie 3 MB region BIOS. Nie zawiera regionów Intel ME, GbE ani Flash Descriptor pochodzących z konkretnej płyty głównej, dlatego nadaje się do bezpieczniejszego udostępnienia niż pełny 8 MB obraz pamięci SPI.

  • Nazwa pliku: t420-seabios-bios-region.bin
  • Rozmiar: 3145728 bajtów
  • SHA256: c1ee52fd42e18ef38bdf6a0cd10c400690aa8e9b5044fe34366eff103a2e8d22

Wartość SHA256 można wykorzystać do sprawdzenia integralności pobranego pliku przed flashowaniem.

Plik przeznaczony jest dla Lenovo ThinkPad T420/i. Przed jakąkolwiek próbą flashowania zalecam wykonanie pełnej kopii własnego firmware oraz upewnienie się, że posiadasz możliwość odzyskania laptopa za pomocą zewnętrznego programatora SPI w przypadku niepowodzenia.

Ten obraz nie zastępuje pełnego dumpu pamięci SPI. Przy flashowaniu należy zachować własne regiony Flash Descriptor, Intel ME i GbE.

Uruchamianie SeaBIOS na Lenovo ThinkPad T420

Pierwszy restart po flashowaniu był chyba najbardziej interesującym momentem całego eksperymentu.

Coreboot uruchomił się prawidłowo, a chwilę później na ekranie pojawił się SeaBIOS.

Działało menu startowe, widoczne były dyski oraz dodatkowe payloady umieszczone w CBFS. TINT, coreinfo i nvramcui uruchamiały się prawidłowo.

Sam laptop również zachowywał się normalnie. Problem, który pojawił się później, dotyczył już sposobu uruchamiania mojego CachyOS.

CachyOS i konfiguracja pod UEFI

Wcześniej komputer korzystał z EDK2, dlatego system był uruchamiany w trybie UEFI.

Po przejściu na SeaBIOS sytuacja zmieniła się całkowicie.

SeaBIOS zapewnia klasyczne środowisko BIOS, więc dotychczasowy wpis EFI przestał mieć zastosowanie. System znajdował się nadal na tym samym dysku, ale trzeba było przygotować sposób uruchamiania go w trybie Legacy BIOS.

Na początku spróbowałem wykorzystać GRUB-a.

Dysk korzystał z GPT, dlatego utworzyłem niewielką partycję BIOS Boot przeznaczoną do osadzenia dodatkowej części bootloadera. GRUB został zainstalowany w wersji i386-pc.

Sam bootloader startował, ale zamiast normalnego menu trafiałem do konsoli:

grub>

Początkowo wyglądało to jak problem z instalacją GRUB-a. Okazało się jednak, że przyczyna była nieco inna.

CachyOS – wykorzystanie Limine

Po dokładniejszym sprawdzeniu partycji /boot zauważyłem, że mój CachyOS nie korzystał wcześniej z klasycznego układu GRUB-a.

Bootloaderem był Limine.

Na partycji znajdowała się kompletna konfiguracja Limine, razem z wpisami dla zwykłego kernela CachyOS, wersji LTS oraz snapshotów Btrfs.

W tym momencie dalsze zmuszanie GRUB-a do współpracy przestało mieć większy sens.

Limine obsługuje zarówno UEFI, jak i klasyczny BIOS. Wystarczyło więc zainstalować jego komponent BIOS na dysku.

Po przygotowaniu odpowiedniego pliku limine-bios.sys oraz instalacji kodu startowego otrzymałem dokładnie taki łańcuch bootowania, jaki chciałem:

Coreboot
SeaBIOS
Limine
CachyOS

I system uruchomił się poprawnie.

Co ważne, nadal mogłem korzystać z obecnej konfiguracji Limine, dwóch kernelów oraz historii snapshotów.

Technicznie eksperyment zakończył się więc pełnym sukcesem.

SeaBIOS – problem z wyglądem i niską rozdzielczością

Po uruchomieniu systemu została jeszcze jedna rzecz, której początkowo nie brałem szczególnie pod uwagę.

Rozdzielczość Limine.

Przy EDK2 bootloader działał na ekranie Full HD bardzo dobrze. Menu było ostre, proporcjonalne i wizualnie pasowało do matrycy 1920×1080.

Po przejściu na SeaBIOS Limine uruchamiał się natomiast w znacznie niższej rozdzielczości.

Nie był to błąd CachyOS ani samego Limine.

W trybie UEFI bootloader może korzystać z mechanizmów graficznych udostępnianych przez firmware. W mojej konfiguracji EDK2 zapewniało tryb graficzny dobrze współpracujący z panelem Full HD.

SeaBIOS korzysta natomiast z bardziej klasycznego sposobu obsługi grafiki. W praktyce dostępne tryby zależą między innymi od SeaVGABIOS oraz tego, co udostępnia platforma.

Można próbować wymusić w Limine konkretną rozdzielczość, na przykład:

interface_resolution: 1920x1080

ale bootloader może użyć takiego trybu tylko wtedy, gdy jest on rzeczywiście dostępny.

W moim przypadku różnica wizualna między EDK2 a SeaBIOS była bardzo wyraźna.

I właśnie wtedy zacząłem się zastanawiać, czy SeaBIOS faktycznie pasuje do tego konkretnego projektu.

SeaBIOS czy EDK2 – różnice w codziennym użytkowaniu

Pod względem funkcjonalnym oba rozwiązania spełniały swoje zadanie.

SeaBIOS ma kilka bardzo mocnych stron. Jest prosty, szybki, dobrze pasuje do filozofii Coreboota i pozwala wygodnie uruchamiać klasyczne systemy oraz dodatkowe payloady.

EDK2 daje natomiast środowisko bardziej przypominające współczesne UEFI.

W moim przypadku miało to znaczenie głównie dlatego, że sam T420 przestał być typowym laptopem z początku poprzedniej dekady.

Matryca Full HD IPS, Ivy Bridge, SSD, nowa karta sieciowa i współczesna dystrybucja Linuksa sprawiają, że komputer jest dziś czymś pomiędzy klasycznym ThinkPadem a nadal praktycznym laptopem do codziennego używania.

EDK2 lepiej pasuje do takiej konfiguracji.

Bootloader wygląda prawidłowo na ekranie Full HD, system korzysta z UEFI, a całość zachowuje się bardziej jak współczesny komputer.

Lenovo ThinkPad T420 i powrót do EDK2

Po zakończeniu testów ponownie wgrałem poprzedni obraz Coreboota z EDK2.

CachyOS od razu wrócił do wcześniejszego sposobu uruchamiania przez Limine w trybie UEFI.

Nie musiałem zmieniać systemu ani odtwarzać konfiguracji.

Cały eksperyment był jednak bardzo wartościowy, ponieważ udało się sprawdzić praktycznie cały alternatywny łańcuch startowy.

Wiem już, że mój T420 bez problemu działa z SeaBIOS. Wiem również, że CachyOS można na tym samym dysku uruchomić przez Limine w trybie BIOS.

Mam więc sprawdzoną alternatywę na wypadek, gdybym kiedyś chciał zrezygnować z EDK2.

Gdzie SeaBIOS ma więcej sensu?

Po tym teście mam wrażenie, że SeaBIOS najbardziej pasuje do nieco starszych ThinkPadów.

Przykładowo w T60, T61, X60, X61 czy nawet T400 klasyczne środowisko BIOS może być wręcz zaletą.

Takie komputery często wykorzystuje się dziś jako maszyny retro, platformy do starszych systemów operacyjnych albo po prostu sprzęt do eksperymentowania.

W takim scenariuszu prosty tekstowy boot, klasyczny BIOS i możliwość uruchamiania dodatkowych payloadów Coreboota świetnie pasują do charakteru sprzętu.

T420 znajduje się już trochę na granicy dwóch światów.

Z jednej strony nadal jest to klasyczny ThinkPad z tradycyjną klawiaturą i bardzo dobrą możliwością modernizacji. Z drugiej strony platforma Sandy Bridge i Ivy Bridge bez problemu radzi sobie z nowoczesnym Linuksem, SSD, dużą ilością RAM-u i ekranem Full HD.

W takim komputerze UEFI nie wydaje się już czymś obcym.

SeaBIOS nie przegrał z EDK2

Najważniejszy wniosek z całego eksperymentu jest taki, że SeaBIOS nie okazał się rozwiązaniem gorszym.

Wręcz przeciwnie – działał dokładnie tak, jak powinien.

Coreboot uruchamiał komputer prawidłowo, SeaBIOS wykrywał urządzenia, dodatkowe payloady działały, a po odpowiedniej konfiguracji Limine również CachyOS uruchamiał się bez problemu.

Ostatecznie wróciłem do EDK2 z dużo bardziej prozaicznego powodu.

Na moim zmodyfikowanym T420 środowisko UEFI po prostu lepiej pasuje do sposobu, w jaki obecnie używam tego laptopa. Limine wygląda znacznie lepiej na ekranie Full HD, cały proces uruchamiania jest bardziej współczesny, a jednocześnie nadal zachowuję wszystkie zalety Coreboota.

SeaBIOS zostawiam więc na inny projekt.

Jeżeli kiedyś zabiorę się za Coreboot w starszym ThinkPadzie, szczególnie z rodziny T60/T61 albo X60/X61, bardzo możliwe, że właśnie tam wybiorę SeaBIOS jako podstawowy payload.

W T420 zostaje natomiast zestaw, który po wszystkich eksperymentach sprawdził się najlepiej:

Coreboot
EDK2
Limine
CachyOS

I chyba właśnie możliwość takiego dopasowania całego łańcucha startowego do konkretnego sprzętu jest jedną z najciekawszych rzeczy w Coreboocie.

Cała historia mojego ThinkPada T420i

Test SeaBIOS i EDK2 jest kolejnym etapem znacznie większego projektu modernizacji ThinkPada T420i. Jeśli trafiłeś tutaj jako pierwszy artykuł z tej serii, wcześniejsze części pokazują drogę od instalacji Coreboota aż do finalnej konfiguracji laptopa:


mgr Bartłomiej_Speth

Absolwent wydziału Fizyki Uniwersytetu im. Adama Mickiewicza w Poznaniu na kierunku Fizyka z informatyką. Miłośnik komputerów, sprzętu komputerowego oraz otwartego oprogramowania. Specjalizuje się w budowie, naprawach, modyfikacjach laptopów jak i jednostek stacjonarnych. Zapalony PC'towiec od momentu, w którym otrzymał swój pierwszy komputer z procesorem 80286.

1 komentarz

ThinkPad T420i po pełnej modernizacji - Coreboot, Ivy Bridge, FHD IPS i finalna konfiguracja - LepszySerwis.pl - Serwis komputerowy Poznań · 24 września 2026 o 09:49

[…] SeaBIOS czy EDK2 w Coreboot? Test obu payloadów na ThinkPadzie T420 […]

Dodaj komentarz

Symbol zastępczy awatara

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *