Linux, GRUB i UKI: kiedy pożegnamy się z bootloaderem?

Masowe przejście linuksowych pulpitów na Wayland odbyło się w atmosferze niszowych, acz głośnych protestów. Plan całkowitego usunięcia starego środowiska X11 uchodzi za potężną zmianę. Ale takich zmian będzie więcej. W kolejce czeka na przykład bootloader.

Linux, GRUB i UKILinux, GRUB i UKI
Źródło zdjęć: © PxHere
Kamil J. Dudek

Temat zakończenia (de facto) rozwoju X.org i okoliczności powstania XLibre to mocno emocjonujące, w pewnych kręgach, kwestie. Zdarza się wręcz, że są one opisywane w kontekście politycznym. Ale Wayland i X.org kradną naszą uwagę nieco ponad miarę, przez co inne tematy, nie mniej przełomowe, nie przebijają się. Dużo poważnych zmian czeka w kolejce na wdrożenie w topowych Linuksach. Co więcej, nie wszystkie z nich dotyczą systemd, uznawanego już od lat za źródło wielkich, przymusowych i niekoniecznie lubianych wynalazków.

 Boot loader nie jest potrzebny

Główna duża rzecz, która od lat jest "prawie gotowa" i nie chce nadejść, to nowa metoda ładowania systemu operacyjnego, omijająca bootloader. Dzisiejszy schemat ładowania systemu linuksowego, wykorzystujący GRUB, jest w dobie systemów UEFI bardzo dziwnym przeszczepem. Teoretycznie bootloader nie jest już dziś potrzebny. System operacyjny ma przygotować na dysku partycję ESP i zgłosić ją do EFI Boot Managera. Firmware komputera (powiedzmy, że "BIOS") sięga do ESP ustawionej jako domyślna i ładuje z niej loader, który dalej, łańcuchowo, ładuje jądro systemu operacyjnego.


WIDEO
Sprawdziłem aparat vivo X500 Pro Max. Jest dobrze

GRUB pełni w tym obrazku dość dziwną rolę. Jest ładowany jako aplikacja UEFI pozwalająca wybrać z listy wykryte systemy operacyjne (dublując rolę EFI Boot Managera). On sam jest ładowany przez inną aplikację EFI, Secure Boot x64 Shim. Pozwala wybrać jądro do rozruchu lub inny system do uruchomienia, oddając kontrolę do skompresowanego obrazu jądra Linuksa, który następnie tworzy wstępny ramdysk i używa tego mikrośrodowiska do podniesienia reszty systemu operacyjnego.

Takie podejście składa się z wielu ruchomych elementów, z których część to aplikacje EFI (niektóre nawet podpisane!), a część to klasyczny dwuczłonowy "rozrusznik" Linuksa. Alternatywą jest oczywiście ładować jądro bezpośrednio jako aplikację EFI, przechowywane na ESP i zgłoszone wprost do EFI Boot Managera. To oczywiście mniej elastyczne rozwiązanie, ale ma swoje zalety. Pracuje nad nim Marta Lewandowska z Red Hata. Przedsięwzięcie nazywa się "No more boot loader", a komponentem umożliwiającym zmianę jest UKI, czyli Unified Kernel Image. To właśnie przejście na UKI jest jeszcze niemożliwe w większości przypadków.

 Linux bez GRUB-a

Czy poza zmniejszeniem złożoności rozruchu UKI oferuje jeszcze jakieś zalety? Tak, wyjąwszy samą kwestię Secure Boot (shim dalej będzie potrzebny), ułatwia on pracę, a jakże, składnikom systemd. Rozruch jest zarządzany, zamiast przez GRUB, przez systemd-boot. Sam system operacyjny ma w zamierzeniu być niemodyfikowalny (immutable), aktualizowany warstwami, a pliki konfiguracyjne mają być do niego "montowane". Procedurą takiej aktualizacji także ma zawiadywać systemd, wykorzystujący w tym celu systemd-sysupdate, ulegający obecnie bardzo intensywnemu rozwojowi. Mechanizm ten jest oddzielny od systemowego menedżera pakietów i nie ma na celu jego zastąpienia.

Teoretycznie przejście na wyżej wymienione elementy jest możliwe już od kilku lat. Fedora umożliwia to już od wersji 40; pozwala na to także OpenSUSE. Ale w praktyce taka konfiguracja jest niewygodna. Minie jeszcze kilka lat, zanim stanie się domyślna, ale kierunek jest jednoznaczny i dobrze znany. W ciągu najbliższych lat obsługa klasycznych sektorów rozruchowych (MBR+CSM), a następnie menedżerów ładowania GRUB (także na UEFI) zostanie wycofana. Przejście na systemy atomowe/bezstanowe/niezmienne zajmie więcej czasu i prawdopodobnie będzie domyślne tylko w scenariuszach wyspecjalizowanych.

To właśnie w tych kwestiach nastąpią najważniejsze zmiany w systemach linuksowych. Będą to rewolucje o wiele istotniejsze niż zastąpienie wyświetlania X11 Waylandem. I zdecydowanie bardziej doniosłe niż awantury zastępcze, jak Flatpak kontra Snap. Pewne jest jednak, że nawet jeżeli jakiś temat awantur ulegnie wyczerpaniu (systemd wygrał) lub dezaktualizacji (dźwięk zaczął działać, bo PulseAudio zostało zastąpione przez PipeWire), społeczność linuksowa natychmiast wybierze kolejny. Taki jest skutek uboczny niemonolitycznego rozwoju.

Wybrane dla Ciebie
ZACZEKAJ! ZOBACZ, CO TERAZ JEST NA TOPIE