Instalacja greenOS
GreenOS dostarczany jest bez instalatora. Przez co daje ogromne możliwość konfiguracji systemu przed jego pierwszym uruchomieniem. Instalacja składa się z kilku poleceń.
- Uruchamiamy na naszej maszynie docelowej jakiegoś Linux-a w wersji Live, może być to dowolna dystrybucja, którą akurat mamy pod ręką. Do instalacji wykorzystywać będzięmy podstawowe narzędzia. GreenOS również jest dostępny wersji LiveCD, można go uruchomić zarówno w trybie BIOS jak i UEFI.
-
Instalacja greenOS wymaga połączenia z Internetem, skądś należy pobrać paczkę z plikami katalogu głównego (rootfs).
# dhclient $interface
gdzie
$interface
to nazwa interfejsu Ethernet w systemie, możemy sprawdzić ją za pomocą poleceniaip a
. Jeśli połączenie przewodowe nie jest dostępne, a mamy możliwość skorzystania z sieci bezprzewowdowej (tj. mamy widoczną kartę sieciową w systemie, oraz dostęp do jakiejś sieci bezprzewodowej), to podłaczanie się do sieci bezprzewodowej należy zacząć od włączenia karty, za pomocą polecenia:ip link set $interface up
$interface
= interfejs sieci bezprzewodowej, następnie przeskanować otoczenie w poszukiwaniu sieci bezprzewodowej, do której mamy dostęp. Do tego celu należy użyć polecenia:iwlist $interface scan
Potrzebujemy tylko SSID, a to polecenie zwraca dużą ilość danych, należy przepuścić jej wyjście przez polecenie grep z wyrażeniem "SSID", dzięki temu poleceniu reszta danych wyjściowych zostanie odfiltrowana, a wyświetlone zostaną tylko nazwy sieci (SSID). W większości przypadków, połączenie się z siecią będzie wymagało klucza, w zależności od użytch zabepieczeń różnić się będzie metoda przyłączenia się do sieci. Jeśli nasza sieć używa standardu WPA, wtenczas należy użyć programu wpa_supplicant. Wymaga on pliku konfiguracyjnego, w którym znajdują się deklaracje sieci. Plik ten generuje się przekierowując standardowe wyjście polecenia wpa_passphrase do pliku. Plik może być zapisany gdzie kolwiek, poleceniu wpa_supplicant i tak podajemy ściężkę do niego. `wpa_passphrase` do wygenerowania plik musi mieć SSID sieci oraz klucz PSK, podajemy te informacje jako argumenty pozycjne:
wpa_passphrease RogueAP 123Test123 > wpa_supplicant.conf
Po wygenerowaniu pliku konfiguracyjnego możemy przyłączyć się do sieci za pomocą polecenia wpa_supplicant.
wpa_supplicant -B -D wext -i $interface -c $configFile
Gdzie:
$interface
- nazwa bezprzewodowego interfeju sieciowego w systemie$configFile
- plik konfiguracyjny wpa_supplicant, zawierający profile sieci.
iwconfig $interface
Polecenie zwróci informacje na temat połączenia z siecią bezprzwodową w polu
Access point:
, powiniśmy zobaczyć BSSID punktu dostępowego, jeśli w tym polu widnieje napisNot-Associated
oznacza to, że nie zostaliśmy przyłączeni do sieci. Jeśli przyłaczenie się powiodło to jedyne co nam pozostało w tym przypadku to pobrać adres IP z DHCP. -
Następną czynnością do wykonania jest partycjonowanie dysku. Tutaj w zależności od trybu jakiego wymaga nasz komputer do działania, czy jest to BIOS czy UEFI, musimy odpowiednio spartycjonować nasz dysk. W trybie UEFI, należy pamiętać partycji EFI. Nie chcę tutaj narzuć jak należy spartycjonować dysk. Jednak poniżej wstawie schemat, który powinien działać w każdym możliwym przypadku:
Urządzenie Boot Rozmiar Typ partycji /dev/sda1 * (Rozmiar dysku - 1GB) Linux /dev/sda2 1GB (Reszta) Rozszerzona /dev/sda5 1GB (cały rozmiar partycji rozszerzonej) Linux swap / Solaris Narzędziem do partycjonowania dostępnym na LiveCD greenOS jest fdisk.
Partycjonowanie dla UEFI różni się nieco do partycjonowania dla BIOS poza tymi powyższymi partycjami potrzebna będzie jeszcze jedna partycja.
Urządzenie Boot Rozmiar Typ partycji /dev/sda1 nie mniej niż 100MB EFI (FAT-12/16/32) /dev/sda2 (pozostała większość - 1GB) Linux /dev/sda3 Reszta Rozszerzona /dev/sda5 cała partycja rozszerzona Linux swap / Solaris Te schematy partycjonowania powinny się sprawdzić. Po zapisaniu zmian na dyskach, należy partycje sformatować na odpowiednie systemy plików. To jest:
- partycja EFI:
# mkfs.vfat -F32 /dev/sda1
- partycje Linux-a, np:
# mkfs.ext4 /dev/sda2
- partycja swap:
# mkswap /dev/sda5
Po sformatowaniu partycji, tę przeznaczoną na główny system plików montujemy w katalogu np. /mnt lub /media.
# mount /dev/sda1 /mnt
Następnie aktywujemy swap.
# swapon /dev/sda5
- partycja EFI:
-
Jeśli główny system plików został poprawnie zamontowany, a inne katalogi głównego systemu plików, takiej jak np. /home czy /usr będą na innych dyskach, to należy utworzyć teraz te katalogi w miejscu montowania głównego systemu pliku i zamontować te dyski, zeby poźniej nie bawić się w kopiowanie. Po ewewntualnym zamontowaniu pozostałych katalogów, możemy pobrać archwium z rootfs, w tym celu przechodzimy do katalogu montowania głównego systemu plików następnie wydajemy polecenie:
/mnt# wget http://ftp.morketsmerke.net/greenOS/archiwum_z_systemem.tgz
Po ściągnięciu archiwm należy je rozpakować, do tego wystarczy użyć polecnia tar z odpowiednimi przełącznikami.
# tar -xzvf rootfs.tgz
Po rozpakowaniu, archiwum należy usunać aby nie zalegało na dysku.
-
Teraz kiedy mamy już pliki dystrybucji, możemy wygenerować plik /etc/fstab, w tym celu przekierujemy wyjście polecenia blkid, do pliku /mnt/etc/fstab.
# cd # blkid > /mnt/etc/fstab
Niestety samo przkierowania wyjścia blkid nie wygeneruje poprawnego pliku fstab, jednak zaoszczędzi nam przepisywania UUID-ów. Poniżej zamieszcze listing zawierający poprawne wpisy dla poszczególnych partycji.
# Partycja EFI dla instalacji UEFI. UUID="..." /boot/efi vfat umask=0077 0 1 # Partycje Linuxa UUID="..." $mountPoint ext4 defaults 0 1 # Partycja swap UUID="..." none swap sw 0 0
$mountPoint
- punkt montowania, może być: / jak i /home. -
Po wygenerowaniu fstab, przyszedł czas na ustawienie nazwy komputera dla instalowanego systemu. Należy zrobić w dwóch miejscach w pliku /mnt/etc/hostname oraz /mnt/etc/hosts pod wpisem adresu
127.0.1.1
. Nazwa komputera może składać się z małych i dużych liter, cyfr oraz myślinika. -
Pozostałe czynności należy wykonać już na zmienionym katalogu głównym. Ta zmiana spowoduje, że będzemy mogli działać na instalowanym systemie. Ale zanim to jednak nastąpi musimy podmontować w instalowanym systemie kilka katalogów systemowych, aby np. z poziomu zmienionego root-a (katalogu głównego), był widoczny dysk twardy, aby była możliwość zainstalowania programu rozruchowego (GRUB-a), w tym celu wykorzystamy jedną z konstrukcji powłoki:
Dla instalacji w trybie BIOS:
# for i in /dev /dev/pts /proc /run /sys; do mount -B $i /mnt$i; done
Dla instalacji w trybie UEFI:
# for i in /dev /dev/pts /proc /run /sys /sys/firmware/efi/efivars; do mount -B $i /mnt$i; done
Po zamontowaniu powyższych katalogów, możemy zmienić katalog główny.
# chroot /mnt /bin/bash
W tym momencie powinniśmy przeskoczyć automatycznie do katalogu głównego, nic innego się nie zmieni, co może nie dezorientujące dlatego warto zmienić sobie znak zachęty (prompt), aby rozróżnić zmieniony katalog główny od katalogu systemu z LiveCD.
# export PS1="(chroot) ${PS1}"
Teraz nie pownniśmy mieć wątpliwości, w którym z katalogów głównych się znajdujemy. Teraz możemy zająć się ustawianiem haseł oraz użytkowników. Na początek zmienimy hasło użytkownika root. Wszystkie polecenia wykonywane na zmienionym katalogu głównym są oznaczone przedrostkiem
(chroot)
(chroot)# passwd
Następnie utworzymy nowego użytkownika, z którego konta będziemy korzystać podczas pracy na komputerze.
(chroot)# adduser $username
$username
- nazwa użytownika. -
Ostatnią czynnością została instalacja programu rozruchowego, istnieje pełna dowolność, jednak w pobranym rootfs, zainstalowany został już GRUB dla i386-pc, więc przy instalacji w trybie UEFI lub wykorzystaniu przez nas innego bootloadera trzeba będzie zainstalować odpowiedni pakiet. W tym przewodniku skupie się wyłącznie na GRUB. Instalacja GRUB w trybie BIOS wygląda następująco.
(chroot)# grub-install $disk
Gdzie
$disk
- wystąpienie dysku w katalogu /dev, tj. /dev/sda, /dev/sdb itp. Po zainstalowaniu GRUB na dysku, pozostało jedynie wygenrowanie pliku konfiguracyjnego GRUB-a.(chroot)# update-grub
Powyższe polecenie wygeneruje pliki konfiguracyjne GRUB-a. Po wykonaniu tej czynności instalacja jest zakończona, pozostaje tylko posprzątać.
Instalacje w trybie UEFI, przeprowadza się w nieco inny sposób. Żeby zainstalować GRUB-a w trybie UEFI, będziemy potrzebować odrębnego pakietu niż ten, który jest zainstalowany.
(chroot)# apt update (chroot)# apt install grub-efi
Po instalacji pakietu musimy zamontować partycje EFI, aby to zrobić należy utworzyć dla niej odpowiedni punkt montowania, będzie nim katalog /boot/efi:
(chroot)# mkdir /boot/efi
Po utworzeniu katalogu montujemy partycję EFI.
(chroot)# mount $efiPartition /boot/efi
Gdzie
$efiPartition
jest partycją EFI w systemie. Po zamontowaniu, możemy przejść do instalacji GRUB-a.(chroot)# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian
Ostatnia czynność jest identyczna dla obu trybów, pozostało wygenerować plik konfiguracyny.
(chroot)# update-grub
Po wygenerowaniu pliku konfiguracyjnego GRUB-a czy to w trybie UEFI czy BIOS, opuszczamy zmieniony katalog główny.
(chroot)# exit
Sprzątnie w tym wpadku będzie polegać na kulturalnym odmontowaniu systemów plików. Do tego celu wykorzystamy konstrukcję powłoki, która została już raz użyta podczas instalacji.
# umount -R /mnt
Instalacja została zakończona, jedyne co pozostaje to uruchomić ponownie komputer.