Live

Pendrive multiboot dla EFI/UEFI z Secure Boot

Przeniesienie mojego Debiana z laptopa mającego konfigurację BIOS i tablicę partycji MBR/MS-DOS do maszyny wyposażonej w firmware EFI/UEFI nie było jakoś stosunkowo trudnym zadaniem. Nawet kwestia włączenia Secure Boot okazała się o wiele mniej skomplikowana niż w rzeczywistości mogłoby się człowiekowi wydawać. Problem jednak pojawił się w przypadku płytek czy pendrive z systemami live. Nie chodzi przy tym o uruchamianie nośników z dopiero co wypalonymi obrazami ISO/IMG, bo te również nie sprawiają kłopotów. Chodzi bardziej o rozwiązanie multiboot, które oferuje wgranie wielu obrazów live na jedno urządzenie i odpalanie tego systemu, który sobie użytkownik w danym momencie zażyczy. Do tej pory korzystałem z projektu GLIM i może on posiada wsparcie dla EFI/UEFI ale już wsparcia dla Secure Boot mu zabrakło. W efekcie w konfiguracji EFI/UEFI + Secure Boot, GLIM stał się bezużyteczny i trzeba było rozejrzeć się za nieco innym rozwiązaniem. Okazało się, że nie trzeba daleko szukać, bo rEFInd jest w stanie natywnie uruchomić system z obrazu ISO praktycznie każdej dystrybucji linux'a (Ubuntu/Debian/Mint/GParted/CloneZilla) i w zasadzie trzeba tylko nieco inaczej przygotować nośnik, by móc na nowo cieszyć się korzyściami jakie oferuje pendrive multiboot.

Pendrive multiboot z GRUB2 i obrazami ISO różnych dystrybucji Linux

Obrazy ISO różnych dystrybucji Linux, szczególnie te live, bywają niezastąpione w sytuacjach kryzysowych. Dzięki takiej płytce CD/DVD czy pendrive (może być też i karta SD) można wybrnąć nawet z najgorszych opresji bez potrzeby rezygnowania przy tym z graficznego środowiska pracy podłączonego do internetu. Zwykle jednak użytkownicy są stawiani przed wyborem systemu, który mogą sobie wgrać na zewnętrzny nośnik, by w późniejszym czasie przeprowadzać ewentualne prace naprawcze. Chodzi generalnie o fakt, że taki obraz ISO czy IMG przy wgrywaniu konsumuje całe urządzenie bez względu na jego rozmiar, i tak mając 32G pamięci na flash możemy wgrać w zasadzie tylko jeden obraz, np. Debiana, a by wgrać obraz Ubuntu, to już trzeba albo osobnego pendrive albo nadpisać ten poprzednio wgrany obraz. Takie rozwiązanie jest mało praktyczne i też generuje koszty. Na szczęście można stworzyć boot'owalny pendrive (w oparciu o GRUB/GRUB2), na którym można umieścić dowolną ilość obrazów ISO i w fazie rozruchu wybrać sobie ten system, który nas interesuje, a wszystko dzięki projektowi GLIM (GRUB Live ISO Multiboot).

Własny system live i tworzenie go od podstaw

Jeśli mamy nieco odbiegające od standardowych oczekiwania dotyczące systemów live, np. wynikają one z braku obecności pewnych pakietów w obrazie wygenerowanym przez developerów jakiejś konkretnej dystrybucji, to możemy sobie stworzyć własny obraz live, gdzie mamy możliwość dostosowania całej konfiguracji takiego systemu wliczając w to również i instalację brakujących pakietów. Obrazy, które są dostępne na stronie debiana, zawierają wydanie stabilne i jak wiadomo, nie jest ono zbyt aktualne pod względem oprogramowania. Natomiast jeśli chodzi o tworzenie własnych obrazów live, to możemy zdefiniować sobie gałąź, z której mają być pobierane pakiety użyte w procesie budowania, jak i również dograć te pakiety, które nie są w żaden sposób powiązane z daną dystrybucją.

Persistence, czyli zachowanie zmian w systemie live

Systemy live mają jedną ale za to dość dającą się odczuć wadę, mianowicie chodzi o to, że po wypaleniu takiego obrazu, nie mamy możliwości zachowania zmian. Nawet jeśli doinstalujemy nowy pakiet czy wyedytujemy jakiś plik, to zmiany wprowadzone przez nas są jedynie tymczasowe, bo dokonywane w pamięci operacyjnej RAM. W efekcie jeśli uruchomimy taki system ponownie, będziemy zmuszeni przeprowadzać raz jeszcze wszystkie poprzednie czynności pod kątem jego dostosowania. W przypadku cd/dvd nie mamy praktycznie żadnego pola manewru. Inaczej jednak ma się sprawa jeśli chodzi o pendrive, bo tutaj możemy utworzyć osobną partycję, gdzie będą przechowywane wszystkie zmiany jakich dokonamy.

Squashfs jako system plików obrazów live

System live to nic innego jak spakowany system plików jakieś zainstalowanej dystrybucji, który podczas startu maszyny jest montowany w trybie tylko do odczytu, a potrzebne pliki są wypakowywane w czasie rzeczywistym w pamięci operacyjnej RAM. Do implementacji takiego rozwiązania stosuje się squashfs i jako że jest to system plików tylko do odczytu, nie można go jako tako edytować. Nie jesteśmy też zupełnie na straconej pozycji, bo możemy skorzystać z dwóch rozwiązań: persistence lub możemy pokusić się o przepakowanie systemu plików.

Jak wgrać system live na uszkodzony pendrive

Każdy z nas spotkał się już chyba w swoim życiu z systemami live. To taki wynalazek zawierający domyślne oprogramowanie, tak skonfigurowane, by system zdołał się odpalić na większość maszyn w ich pamięci operacyjnej, oczywiście zakładając, że wymagania sprzętowe zostaną zaspokojone, głównie chodzi o pamięć RAM. Takie systemy live są dostarczane w postaci kilku rodzajów obrazów: iso, hdd oraz hybryda. Pierwszy z nich zwykle wypala się na płytkach, drugi na pendrive, z kolei hybrydowy obraz można wgrać na każdy rodzaj urządzenia i nawet wykorzystać w przypadku maszyn wirtualnych i zwykle spotkamy się z tym ostatnim typem, nawet jeśli plik ma rozszerzenie .iso .