Instalacja Linuxa na pen-drive w krokach siedmiu.

Problem.

Wyobraźmy sobie, iż profesor Jerzy Wróbel zaproponował nam udoskonalenie programu napisanego w języku Free Basic. Program ten służy do automatycznych pomiarów magnetooporu i efektu Halla w laboratorium naukowym magnetotransportu przy niskich i ultra niskich temperaturach. Przyrządy pomiarowe wraz z komputerem kontrolującym je są połączone przy pomocy magistrali GPIB oraz RS-232, przy czym magistrale połączeń są dostępne poprzez port USB.

Komputer kontrolujący pomiary pracuje jednak na systemie operacyjnym Windows. Na system ten mamy jednak wrodzoną alergię, objawiającą się drganiami kończyn dolnych i górnych (a więc i niezdolnością do posługiwania się klawiaturą), wysypką na twarzy czy w innych nieodpowiednich miejscach (co powoduje nieznośne swędzenie), potrzebą spożywania dużych ilości soków owocowo-warzywnych, co w warunkach laboratoryjnych jest niewskazane i utratę zdolności do koncentracji uwagi.

Rozwiązanie problemu: Linux na palcu.

Instalacja linuksa na pen-drive jest prosta.

1. Wypalamy płytkę DVD z ulubioną dystrybucją Linuxa

Najpierw wypalamy płytkę DVD z naszą ulubioną dystrybucją linuksa. Może to być CentOS (Community Enterprise Operating System), w istocie będący wierną kopią komercyjnej edycji Red Hat Enterprise Linux (RedHat nie jest jednak dostępny bezpłatnie). Dla zastosowań inżynieryjnych, modelowania CAD, obliczeń, warto wypróbować CAE Linux. Do popularnych dystrybucji należy Ubuntu. Jej zaletą jest właśnie popularność, przec co łatwo znależć pomocne informacje w internecie w przypadku problemów. Ale też wersja ta jest bardzo łatwa do intuicyjnego opanowania. Mnie skusiło tym razem wypróbowanie dystrybucji również popularnej, Linux Mint (Linux Mint 17.1 "Rebecca" - Cinamon), a to za przyczyną sugestii jednej ze studentek. Istotnie, jestem zadowolony z tej wersji systemu: posiada zalety Ubuntu (tworzony jest właśnie na jej podstawie), a przy tym posiada kilka jeszcze innych cech znacznie ułatwiających użytkowanie systemu, jest wręcz idealną dystrybucją dla linuksowych nowicjuszy.

2. Uruchamiamy komputer z płyty DVD

Gdy mamy już wypaloną płytkę DVD z obrazem ISO, możemy wykorzystać ją do prób z systemem. Po prostu należy wystartować komputer z DVD. Żeby tego dokonać, w BIOS komputera należy zmienić kolejność "bootowania": przy starcie komputera należy naciskać któryś z klawiszy funkcyjnych (zwykle jest to F2). Po ukazaniu się menu BIOS'a należy odnaleźć możliwość zmienienia kolejności "bootowania".

W zasadzie na takim systemie uruchomionym z DVD można już pracować. Ale nie jest to praktyczne rozwiązanie. Nie mamy wtedy możliwości dostępu do dysku twardego, nie ma możliwośći zachowania zmian konfiguracji czy instalacji dodatkowych programów. Można ten problem obejść, ale na sposoby mało praktyczne. Poza tym system pracujący z DVD jest dość wolny, bowiem powolny jest odczyt danych z DVD, brak jest też pliku czy partycji swap.

3. Formatowanie pen-drive

Jako pen-drive używam produktu Kingston, 16 GB. Mniejsze są niepraktyczne: potrzeba około 5 GB na pliki systemowe, 1-2 GB (albo i więcej) na przestrzeń swap, warto mieć co najmniej kilka GB na dane i możliwości doinstalowania dodatkowych programów. Górną granicę pojemności określa głebokość naszej kieszeni.

Płytka ISO jest nam potrzebna nie tylko jako kopia systemu do instalacji. Po wystartowaniu systemu z DVD użyjemy tego systemu do sformatowania pen-drive, a następnie do instalacji na nim dystrybucji linuksa znajdującej się na płytce DVD.

Byłoby bardzo porządanym stworzenie co najmniej dwóch partycji na pen-drive: jednej dla plików systemowych i jednej dla przestrzeni swap. Z powodów niejasnych mnie to nie udało się. Dlatego zamiast partycji swap będę używał pliku swap.

Do ewentualnego tworzenia partycji na pen drive i do jego formatowania można korzystać z narzędzi, które istnieją w systemie który wystartowaliśmy z DVD. Moje preferencje które opisuję są następujące (Linux Mint).

Klikamy prawy klawisz myszy na pulpicie. To pozwala nam wybrać z menu okno terminala. W terminalu wpisujemy komendę:

     df -k

Komenda df (disk free) pozwala nam zobaczyć, jakie nośniki (dyski) są podłączone do komputera i ile jest na nich wolnego miejsca. Pokaże nam także nazwę włączonego pen-drive. W moim przypadku ma on nazwę /dev/sdb. To bardzo ważne. Powinniśmy także widzieć, po wykonaniu komendy df, także nazwę dysku twardego (w moim przypadku /dev/sda). Nie możemy zrobić błędu. Jeśli niewłaściwie użyjemy do instalacji /dev/sda zamiast /dev/sdb, wtedy stracimy wszystkie dane na dysku twardym. W każdym konkretnym przypadku te nazwy urządzeń mogą i zapewne będą inne.

Wiemy już, iż nasz pen-drive ma nazwę /dev/sdb. Do tworzenia partycji używam komendy z okna terminala:

     sudo fdisk /dev/sdb

sudo oznacza "wykonaj komendę jako superuser" (administrator, root). Przy jej wykonaniu gdy system pracuje z DVD nie potrzeba wprowadzać hasła administratora.

Komenda fdisk pozwala tworzyć partycje dla systemu. Łatwo z niej korzystać, ale trzeba to robić bardzo ostrożnie. Zmiany są nieodwracalne. Po uruchomieniu fdisk mamy wyświetlane podpowiedzi. Wćisnięcie "m" pokazuje spis dostępnych komend. Wćiśnięcie "p" pokazuje aktualną konfigurację tabeli partycji. Zmiany na dysku (pen drive) są dokonywane dopiero po wciśnięciu "w" (write and exit). W dowolnym momencie można wyjść z fdisk wciskając "q". Jak wspomniałem, mnie nie udało się stworzyć jakiegoś rozsądnego podziału na partycje, z powodów niejasnych, ale to nie jest wielki problem.

Jeśli "p" pokazuje nam istniejące już partycje na pen-drive, to trzeba je najpierw wszystkie usunąć (delete, "d").

Nową partycję tworzymy literą "n". Należy podać jej rodzaj. Wpisujemy kod "83" dla partycji linuksowej.

Następnie musimy zaznaczyć wybraną partycję (pierwszą) jako "bootowalną" - inaczej system z niej nie wystartuje. Robimy to literą "t" (toggle). Dla wyryfikacji, możemy użyć litery "p" (print) - przy partycji która jest "bootowalna" powinien istnieć znak gwiazdki. Wychodzimy z fdisk przy pomocy komendy "w" (write and exit). Zmiany zostały dokonane i są nieodwracalne.

Teraz należy sformatować pen drive. Robimy to komendą, na przykład:

     sudo mkfs.ext4 /dev/sdb1

Komenda mkfs.ext4 powoduje formatowanie specyficzne dla linuksa. Zawartość tego pen-drive nie będzie widzialna pod systemem Windows (chyba, że byc może istnieją do tego celu jakieś specjalne programy, być może warto sprawdzić).

4. Instalacja systemu na pen-drive.

Instalacja w zasadzie jest trywialnie prosta, o ile nie pojawią się jakieś nieprzewidziane okoliczności. Klikamy na pulpicie na ikonę instalacji i ... czekamy. Tylko znowu: należy odpowiednio wybrać pen-drive, aby niechcący nie zrobić instalacji na istniejącym już naszym ohydnym systemie windows na dysku twardym (ale niewielka byłaby to w istocie strata). Jeśli mamy wątpliwości czy wszystko przebiega poprawnie, to możemy sobie włączyć podglądanie (Ctrl-ALt-F2 przałącza nas do trybu tekstowego, gdzie np. z pomocą komendy df -k możemy śledzić, jak zmienia się ilość miejsca an pen-drive; do trybu graficznego wracamy poprzez, zwykle, Ctrl-Alt-F8). Gdy bardzo nas nuży oczekiwanie, można w trakcie instalacji włączyć firefox i tam powiedzmy poczytać Dziennik Gajowego Maruchy albo posłuchać Anny German na YouTube.

5. Restartowanie systemu z pen-drive.

Tak jak w przypadku gdy uruchamialiśmy system z DVD, tak i teraz należy najpierw zmienić konfigurację BIOS, tak by najpierw system startował z pen-drive, a nie z dysku twardego. W moim przypadku miałem duży problem: BIOS wprawdzie zmienić mogłem, ale mój laptop (Dell, Inspiron) zupełnie ignorował pen-drive podczas startu. Okazało się to wadą fabryczną całej serii laptopów Dell. Jednak zdołałem problem pokonać, najpierw ustawiając w BIOS bootowanie z pen-drive, potem sieciowe (długo trwa), a potem z dysku twardego (tak, w tej dokładnie kolejności). Wtedy system męczy się długo z siecią, by następnie wystartować z pen-drive.

6. Po instalacji. Tworzenie pliku swap.

Ten krok czynimy już na nowym, pachnącym świerzo, dopiero co uruchomionym systemie z pen drive. Swap może znacznie poprawić szybkość działania systemu. Na pen-drive wiele miejsca nie ma, więc robimy to oszczędnie. Powiedzmy, że chcemy mieć choćby 512 MB: (1024 * 512MB = 524288 block size). Raczej jednak warto zrobić więcej, jeśli jest więcej miejsca. Regułą praktyczna w świecie linuksowym jest taka: swap powinien mieć dwa razy więcej niż pamięć RAM. Jeśli jednak wasz komputer ma dużo RAM (tak z grubsza ze 4 GB lub więcej), to swap może być zbyteczny.

     dd if=/dev/zero of=/swapfile bs=1024 count=524288

Komenda ta wpisuje zera do pliku o nazwie /swapfile . Następnie zmieniamy odpowiednio prawa dostępu do tego pliku:

     sudo chown root:root /swapfile
     sudo chmod 0600 /swapfile

A następnie formatujemy odpowiednio ów plik oraz czynimy plik aktywnym dla systemu:

     sudo mkswap /swapfile
     sudo swapon /swapfile

Należy jeszcze automatycznie uaktywniać swap podczas startu systemu poprzez dodanie następującej linijki w /etc/fstab (sudo gedit /etc/fstab):

/swapfile none swap sw 0 0
7. I to by było na tyle...

Teraz mamy w kieszeni system gotowy do użytku. Co więcej: niemal z każdego komputera można zeń koszystać.