____ _   _ _   _   ___     _                       _ _ _              
 / ___| \ | | | | | / / |   (_)_ __  _   ___  __    | (_) |__  _ __ ___ 
| |  _|  \| | | | |/ /| |   | | '_ \| | | \ \/ /____| | | '_ \| '__/ _ \
| |_| | |\  | |_| / / | |___| | | | | |_| |>  <_____| | | |_) | | |  __/
 \____|_| \_|\___/_/  |_____|_|_| |_|\__,_/_/\_\    |_|_|_.__/|_|  \___|

Parabola GNU/Linux-libre

Parabola GNU/Linux-libre lub poprostu Parabola Linux, jest to dystrybucja oparta na Arch Linux stworzona przy użyciu kernela Linux-libre pozbawionego wszelkiego zamkniętego oprogramowania (blobów binarnych) oraz zaciemnionego kodu. Uznana za całkowicie wolną przez Free Software Fundation.

Skoro dystrybucja jest oparta na Arch-u to możemy spodziewać się ręcznej instalacji. Na swoją instalację wybrałem starszy sprzęt bez Intel ME, dość ciekawe urządzenie bo jest to stary poliwęglanowy Apple Macbook A1181.

macbook_parabola_screenshot

  1. Utworzenie obrazu instalacyjnego

    Instalacje systemu zaczniemy od utworzenia obrazu na jakimś pendrive czy dysku USB. I tu już zaczynają się schody ponieważ ten komputer nie posiada BIOS-u, lecz wbudowany firmware mianowicie 32-bitowe EFI. Niestety metoda opisana na stronie Arch Linux nie działa z tym sprzętem. Chcąc utworzyć obraz instalacjny dla tego sprzętu musimy przygotwać nasz dysk wg. instrukcji: https://wiki.debian.org/InstallingDebianOn/Apple/MacBook/2-1 Po rozpakowaniu pliku iso za pomocą 7-zip-a, kopiujemy cały folder parabola na dysk USB, następnie należy użyć poniższej konfiguracji dla GRUB-a.

    if loadfont /boot/grub/fonts/unicode.pf2 ; then
        set gfxmode=800x600
        insmod efi_gop
        insmod efi_uga
        insmod video_bochs
        insmod video_cirrus
        insmod gfxterm
        insmod png
        terminal_output gfxterm
    fi
    linux (hd0,msdos1)/parabola/boot/x86_64/vmlinuz-linux-libre parabolabasedir=parabola parabolaisolabel=PARA_202108
    initrd (hd0,msdos1)/parabola/boot/x86_64/initramfs-linux-libre.img
    

    Ostatnią rzeczą jaką należy zrobić przed uruchomieniem komputera z tego dysku, to trzeba ustawić etykietę dysku na etykietę obrazu płyty za pomocą polecenia fatlabel

    # fatlabel /dev/sda1 PARA_202108
    

    Obraz płyty jest gotowy, do boot menu na Macu przechodzimy przytrzymując klawisz alt/option podczas włączania komputera pokaże się dysk usb z etykietą "EFI Boot".

  2. Instalacja systemu

    Parabola dystrybuowana jest w dwóch wersjach, OpenRC lub systemd. Osobiście wybrałem OpenRC, (i dla tego typu programu init, przedstawię instalację jeśli wybierzemy systemd, to opis instalacji znajduje się pod tym linkiem http://wiki.parabola.nu/Installation_Guide , lub podczas instalacji za pomocą polecenia Installation_guide) nie wiem czy to nie strzał w stopę, bo jest przyzwyczajony do systemd, jednak dla takiego sprzetu wydajemi się że OpenRC będzie lepszym wyborem.

    Odziwo Parabola posiada sterowniki do karty bezprzewodowej na Macu. Połączyć się możemy za pomocą apletu NetworkManager nmtui-connect. Strzałką wybieramy sieć, zatwierdzamy enterem, podajemy hasło i następuje łączenie. Połączenie sieciowe jest wymagane do zainstalowania systemu.

    Instalacje systemu rozpocznamy od partycjonowania dysku. Swój system skonfigurowałem w taki sposób, że mam 3 partycje podstawowe. EFI, partycja z katalogiem głównym oraz partycję szyfrowaną z katalogiem domowym. Dlaczego nie użyłem szyfrowania partycji z z katalogiem głównym? Natknąłem się na błąd, który to uniemożliwiał podczas ładowania się jądra po wpisaniu hasła do odblokowania partycji nie działo się nic. System się zawieszał. Dlatego wybrałem taki kompromis, ponieważ tak naprawdę zależy mi wyłącznie na ochronie moich danych.

    Urządzenie Rozmiar Punkt montowania
    /dev/sda1 600M /boot (EFI)
    /dev/sda2 -1G /
    /dev/sda5 1G swap

    Powyżej znajduje się tabela przedstawiająca partycjonowanie. Pominąłem partycję dla szyfrowania pod /home, nią zajmiemy po zainstalowaniu systemu. Po spartycjonowaniu dysku tworzymy odpowiednie dla przeznaczenia partycji systemy plików.

    #Partycja /boot:
    # mkfs.vfat -F32 /dev/sda1
    #Partycja /:
    # mkfs.ext4 /dev/sda2
    #Swap:
    # mkswap /dev/sda5
    

    Montujemy główny system plików pod katalogiem /mnt, po zamontowaniu tworzymy w nim nowy katalog boot pod ten katalog montujemy partycje EFI, na sam koniec możemy włączyć przestrzeń wymiany.

    # mount /dev/sda2 /mnt
    # mkdir /mnt/boot
    # mount /dev/sda1 /mnt/boot
    # swapon /dev/sda5
    

    Teraz przechodzimy do instalacji systemu. Instalacja systemu polega na instalacji pakietów za pomocą odpowiedniego narzędzia. Poradnik instalacji, rozmienia się z tą czynnością na kilka podpunktów, ja złoże je w jedno duże polecenie.

    $ pacstrap /mnt base libelogind udev-init-scripts linux-libre-lts networkmanager grub vim cryptsetup dhclient man-db man-pages texinfo 
    

    Jest wielce prawdopodobne, że podczas instalacji wystąpi błąd związany z podpisami lub integralnością pakietów instalacja zostanie przerwana i należy go naprawić aby pójść dalej.

    W poradniku instalacji w podpunkcie poświęconym temu problemowi są dwa polecenia. Należy je przepisać i uruchomić.

    # pacman -Sy archlinux-keyring archlinuxarm-keyring parabola-keyring
    # pacman -U https://www.parabola.nu/packages/core/i686/archlinux32-keyring-transition/download/
    

    Następnie musimy odswierzyć klucze dewelopera, które się niezgadzają.

    # pacman-key --refresh-keys mail_dewelopera@example.com
    

    Po wykonaniu tej czynności należy powtórzyć te dwa polecenia wykonywane przed odświerzeniem kluczy. Teraz klucze powinny się zgadzać i instalacja powinna ruszyć dalej.

    Zakończenie działania polecenia pacstrap oznacza teoretycznie, że system jest zainstalowany. Niestety tylko w teorii. Wymaga on jeszcze konfiguracji. Zaczniemy od wygenerowania pliku /etc/fstab na podstawie zamontowanych dysków.

    # genfstab -U /mnt >> /mnt/etc/fstab
    

    Zmieniamy nasz katalog główny na /mnt, wykorzystując do tego specjalne narzędzie dostarczane wraz ze wszystkimi dystrybucjami opartymi na Arch Linux.

    # arch-chroot /mnt
    

    Ustawienia właściwe adresy w pliku /etc/hosts.

    127.0.0.1   localhost
    ::1         localhost
    127.0.1.1   macbook.localdomain macbook
    

    W pliku /etc/conf.d/hostname ustawiamy nazwę hosta. Nie działa to jednak ponieważ nie w systemie brakuje polecenia, które miały by tę nazwę ustawić. Nazwę ustalimy za pomocą polecenia nmtui-hostname, kiedy już go uruchomimy.

    Następną rzeczą do ustawienia są locale. W pliku /etc/locale.conf, zapisujemy poniższe dane.

    LANG="pl_PL.UTF-8"
    LC_COLLATE="C"
    LC_TIME="pl_PL.UTF-8"
    

    Powyższy plik nie jest jedym plikiem, w którym należy zapisać locale. Otwieramy plik /etc/locale.gen, w pliku poszukujemy pl_PL.UTF-8 UTF-8. Usuwamy znak komentarza sprzed wyszukanej frazy i zapisujemy plik.

    ...
    #pap_AW UTF8
    pl_PL.UTF-8 UTF-8
    #pl_PL ISO-8859-2
    ...
    

    Nastepnie wydajemy polecenie:

    (chroot)# locale-gen
    

    W pliku /etc/conf.d/keymaps ustawimy układ klawiatury dla konsoli, natomiast w pliku /etc/conf.d/consolefont ustawimy czcionkę oraz mapę znaków aby zapewnić poprawne wyświetlanie polskich znaków w konsoli.

    W /etc/conf.d/keymaps ustawiamy opcję keymap, resztę pozostawiamy bez zmian.

    keymap="pl"
    

    W /etc/conf.d/consolefont ustawiamy dwie opcje consolefont oraz consoletranslation zgodnie z poniższymi ustawieniami.

    consolefont="lat2-16"
    consoletranslation="8859-2"
    

    Po zapisaniu zmian w pliku możemy przejść do instalacji programu rozruchowego GRUB. Instalacja wymaga jedynie dwóch poleceń.

    (chroot)# grub-install --target=i386-efi --efi-directory=/boot --bootloader-id=GRUB
    (chroot)# grub-config -o /boot/grub/grub.cfg
    

    Teraz instalacja jest teorytcznie zakończona, jednak przed odmontowaniem partycji musimy:

    • Ustawić hasło dla superużytkownika.
    • Skopiowiać plik /etc/init.d/NetworkManager z uruchomionego z płyty, najlepiej do katalogu użytkownika root.

    Ustawienie hasła dla root-a jest banalnie proste.

    (chroot)# passwd
    

    Podajemy nowe hasło dwa razy. Druga czynność wymaga już opuszczenia środowiska zmienionego katalogu głównego. Katalog z dysku opuszczamy wydając po prostu polecenie exit. Następnie kopiujemy plik usługi NetworkManager do katalogu /mnt/root.

    (chroot)# exit
    # cp /etc/init.d/NetworkManager /mnt/root
    

    Po wykonaniu tej czynności możemy odmontować systemy plików dysku za pomocą jednego polecenia następnie uruchomić komputer ponownie. Instalacja została zakończona.

    # umount -R /mnt
    # reboot
    
  3. Pierwsze uruchomienie i konfiguracja katalogu /home

    Po uruchomieniu komputeraz uslyszysmy charakterystyczny gong. Na ekranie pojawi się białe tlo. Zostaniemy przeniesieni odrazu do menu GRUB-a. Wybieramy domyślną opcję. Komputer może się zawiesić w trakcie ładowania jądra do pamięci, więc jeśli utkniemy z dwoma napisami w lewym górnym rogu ekranu, to możemy wyłączyć twardo komputer i uruchomić go ponownie. Teraz z GRUBa wybieramy tę drugą opcję i z następnego podmenu wybieramy opcje nr. 1. Teraz system powinien się uruchomić. Jeśli znów się zawiesił, to znów twardo go wyłączamy i wybieramy domyślną opcję z menu GRUB-a. Czasami potrzeba kilku takich uruchomień aby komputer się uruchomił. Po załadowaniu dostaniemy wyłącznie dostęp do konsoli. Na początku musimy zalogować się jako root.

    Na partycji, dla której przeznaczyliśmy większość miejsca na dysku. Nie tworzymy zwykłego systemu plików, tylko system plików przeznaczony do szyfrowania LUKS.

    # cryptsetup -y -v luksFormat /dev/sda3
    

    Program podczas tworzenia plików zapyta o potwierdzenie, trzeba wiekimi literami wpisać YES. Następnie polecenie zapyta o hasło szyfrowania woluminu, dwukrotnie. Po utworzeniu trzeba wolumin otworzyć.

    # cryptsetup open /dev/sda3 crytphome
    

    Polecenie zapyta o klucz do odszyfrowania (hasło), następnie utworzy nowe urządzenie blokowe w katalogu /dev/mapper o nazwie, podanej jako ostatni argument polecenia. To nazwą może być cokolwiek. To utworzone urządzenie montujemy pod katalogiem /home.

    # mount /dev/mapper/crypthome /home
    

    Przy tej konfiguracji będziemy wracać do tego punktu podczas zamykania systemu. Dla bezpieczeństwa szyfrowanego woluminu lepiej kulturalnie go odmontować i zamknąć.

    # umount /home
    

    Czasami na pewno zadarzy się sytuacja, że nie będziemy mogli odmontować tego katalogu, ponieważ cel jest zajęty. Oznacza to mniej więcej tyle, że w systemie istnieje jeszcze jakiś działający proces użytkownika, w celu zbadania sytuacji, wydajemy polecenie:

    # ps -aux
    

    Jeśli proces jest nie istotny, dla wyników naszej pracy na komputerze, możemy go na początku spróbować kulturalnie zamknąć wydajac polecenie kill wraz z PID-em procesu, oczywiście bez podawania żadnego symbolu sygnału.

    # kill PID
    

    Jeśli to nie pomoże, proces należy zabić dodając do powyższego polecenia opcje -9, prosząc jądro o wysłanie do procesu sygnału KILL.

    # kill -9 PID
    

    Innym powodem problemów z odmontowaniem katalogu /home są podmontowane w jego podkatalogach inne systemy plików jak udziały SMB. Należy je ręczenie odmontować lub użyć polecenia:

    # umount -R /home
    
  4. Nowy użytkownik oraz nadanie mu uprawnień superużytkownika

    Kiedy mamy już miejsce na nasze dane, możemy utworzyć nowego konto na którym będziemy je przechowywać. Prawdopodobnie jesteśmy jedymi realnymi użytkownikami tego systemu więc nadamy mu uprawnienia superużytkownika aby nie trzeba było się przelogowywać. Wyższych uprawnień będziemy potrzebować do instalacji środowiska graficznego.

    Użytkownika tworzymy za pomocą poleceania useradd, wraz z opcją -m, która spowoduje utworzenie katalogu domowego oraz skopiowanie zawartości katalogu /etc/skel zawierającego pliki konfiguracyjne powłoki oraz pliki domyślne użytkowników systemu. Po utworzeniu użytkownika należy pamiętać o zdefiniowaniu hasła dla użytkownika. Hasło należy podać dwukrotnie.

    # useradd -m xf0r3m
    # passwd xf0r3m
    

    W systemie prawdopodbnie nie będzie zainstalowanego programu sudo. Więc możemy go doinstalować, jeśli czytasz to przed rozpczęciem jakich kolwiek prac, możesz dopisać sudo do polecenia pacstrap instalującego system.

    # pacman -Syu sudo
    

    Po zainstalowaniu pakietu, przechodzimy do pliku /etc/sudoers. Plik jest tylko do odczytu, nawet dla root. Przejście w tryb edycji (jeśli używamy programu Vim) czy zapisanie zmian będzie wymagać potwierdzenia. W pliku odszukujemy lini root ALL=(ALL) ALL, pod nią możemy zapisać identyczną frazę zmieniając tylko użytkownika lub poniższą dzięki, której nie będzie potrzeby wpisywania hasła.

    xf0r3m ALL=(ALL) NOPASSWD:ALL
    

    Po zapisaniu zmian możemy opuścić konto superużytkownika, wylogowując się poleceniem exit. Następnie zalogować się na swoje konto.

  5. Instalacja i konfiguracja środowiska graficznego.

    Na tym Macbook-u, którego użyłem do instalacji, procesor Core2Duo poci się niemiłośernie. Osiągając 65 - 70 stopnii C temperatury roboczej, co przekłada się na hałas generowany przez wentylator, na tym sprzęcie mam ograniczenia również co do wiekości zainstalowanej pamięci RAM, mimo włożenia dwóch kości po 2GB system system obsługuje maksymalnie 3GB. Aby móc na nim bez przeszkód pracować potrzebowałem lekkiego środowiska aby przeznaczyć więcej pamięci na programy, do tej instalacji użyłem środowiska fluxbox. Teraz pisząc ten tekst, z włączonym Vim-em oraz odtwarzaczem muzyki moc oraz menedżerem zadań htop wykorzystane ma 122MB. Pozostawiając ponad 2,5 GB na pozostałe programy. Ta konfiguracja jest rozwiązaniem dla osób, które nie boją się terminala. Jednak wybierając dystrybucję z rodziny Arch Linux, trzeba mieć to na uwadze. Instalacje rozpoczynamy od zainstalowania odpowiednich pakietów.

    $ pacman -Syu xorg xorg-xinit xorg-xauth fluxbox xf86-video-intel terminator
    

    W dystrybucjach opartych na Arch-u zauważyłem, że duże pakiety oprogramowania są podzielone na mniejsze częsci, jeśli nie zainstalujemy pakietu xorg-xinit to będzie brakować polecenia startx. Pakiet xf86-video-intel można by tak rzec, że jest to podstawowy sterownik grafiki, bez niego środowisko nie ruszy czego osobiście doświadczyłem. Jako emulator terminala wybrałem, terminator ponieważ jest samodzielnym programem zapewniającym poprawne wyświetlanie polskich znaków (O tym będzie w następnym punkcie).

    Po zainstalowaniu pakietów uruchamiamy środowisko graficzne i zaraz je zamykamy. Przez to fluxbox utworzy w katalogu domowym użytkownika, katalog konfiguracyjny .fluxbox w nim znajduje się plik pod nazwą menu. Aby uruchomić poraz pierwszy środowisko graficzne, potrzebujemy pliku, który wskaże serwerowi X11, który menedżer okien ma uruchomić, taki plik nazywa .xinitrc i znajduje się w katalogu domowym użytkownika. W pliku wystarczy zapisać jedno polecenie:

    exec fluxbox
    

    Ten plik może wydawać się nie pozorny, jednak będzie zawierać istotne ustawienia, takie jak ustawienie tapety czy chyba najważniejsze, ustawienia układu klawiatury w środowisku graficznym.

    Przy pierwszym uruchomieniu fluxbox utworzy w katalogu domowym użytkownika, katalog konfiguracyjny .fluxbox w nim znajduje się plik menu. W pliku odnajdujemy znacznik [begin] w nawiasie okrągłym obok możemy podać tytuł menu np. "Parabola GNU/Linux-libre on MacBook 2,1". Od znacznika [begin] po znacznik [end] znajduje się definicja menu głównego, pierwszy wpis oznaczony znacznikiem [exec] zawiera wpis w menu dla programu xterm, takie programu w systemie nie ma (możemy go doinstalować jednak na próżno szukać w nim poprawnego wyświetlania polskich znaków). Ten wpis przystowujemy, aby uruchamiał program terminator. Budowa wpisu elementu menu, wygląda następująco. Na początku mamy typ elementu, może być to program co jest równoznaczne z typem [exec] lub np. submenu jeśli chcemy podzielić wpisy. Wiele typów jest wypisanych w domyślnej konfiguracji wewnątrz pliku. Na tym etapie interesować nas będzie wyłącznie [exec]. Następnym elementem wpisu jest etykieta elementu umieszczona wewnątrz nawiasów okrągłych (). Możemy wpisać cokolwiek, oczywiście warto pamiętać o tym, że ta etykieta pozwoli nam odnaleźć ten konkretny program, gdy w menu nagromadzi się wiele wpisów w miarę korzystania z komputera. Ostatnim elementem jest polecenie zawarte w tym przypadku w nawiasach klamrowych {}. Aby dostosować wpis xterm dla terminatora, zamieniamy xterm na terminator. Skoro wiemy jak dodawać programy do menu, to nic nie stoi na przeszkodzie, aby doinstalować swoje ulubione programy, o ile tylko znajdują się one w repozytorium.

    Warto wspomnieć że wykorzystywaną przeglądarką w tej dystrybujcji jest Iceweasel. Jest to z przerobiony Firefox, z którego usunięto obsługę DRM oraz wszystkie rzeczy, które przez FSDG (Free Software Distribution Guidelines) - wytyczne dla wolnych dystrybucji uznawane są za nie wolne (non-free). Ta przeglądarka była zamiennikiem Firefoxa dla Debiana od 4 wersji oraz dla innych dystrybucji bazujących na nim do 2016 roku. Pamiętam, że jej zaletą była świetna wydajność na każdym możliwym sprzęcie, i to się chyba nie zmieniło. Deweloperzy Parabola GNU/Linux-libre są chyba jedynym zespołem, który aktywnie rozwija ten porzucony projekt. Brak DRM oznacza, że korzystając z tej przeglądarki możemy zapomnieć o korzystaniu z większości serwisów streamingowych.

    Jeśli chodzi o moją konfigurację, to używam terminatora jako emulatora terminala, Vim-a jako domyślnego edytora tekstów w nim pisze ten tekst, moc (ang. Music on Console) - jako odtwarzacza muzyki, mpv jako odtwarzacza plików wideo. leafpada jako podręcznego notatnika, htop jako mendżera zadań (istotną jego rolą jest wskaźnik poziomu naładowania baterii, dlatego działa non stop), graficzny menedżer plików zastępuje mi konsolowy ranger. To wszystko.

    Wrócimy do menu. W podmenu Fluxbox możemy zmienić domyślny motyw mendżera okien. Na swoim komputerze wybrałem temat BlueNight, który komponuje się z tapetą Parabola GNU/Linux-libre, ukradzoną z obrazu instalacyjnego wersji skierowanej na desktopy. Żeby nie musieć uruchamiać jeszcze raz komputera z płyty umieściłem ją na w serwisie ImgBB, link znajduje się poniżej.

    https://ibb.co/RPjpy4g

    Aby ustawić tapetę potrzebujemy zewnętrznego programu. Takim program może być feh, w którym ustawienie tapety jest jedną z dodatkowych funkcji, tak naprawdę to program do otwierania plików graficznych czy też obrazów. Pobrany plik tapety należało by gdzieś zabezpieczyć aby nie usunąć go przypadkiem podczas oczyszczania, katalogu Pobrane czy Downloads. W pliku ~/.xinitrc nad poleceniem exec zapisujemy poniższe polecenie.

    feh --bg-fill ~/sciezka/do/pliku/tapety
    

    Zapisujemy zmiany. Jeśli uruchomimy teraz środowisko graficzne, tapeta mignie nam na chwile i najprawdopodbniej zostanie zastąpiona tłem wybranego przez nas tematu. Musimy wyłączyć tło z tego tematu. Motywy dostarczane wraz z system dostępne są w katalogu /usr/share/fluxbox/styles, jeśli styl w tym katalogu jest podkatalogiem, to w środku podkatalogu znajduje się plik theme.cfg, w nim trzeba wyłączyć wszystkie linie dotyczące tła (ang. background). Wyłączyć je możemy umieszczając na ich początku symbol komentarza.

    #background: flat
    #background.color: rgb:6A/9A/AF
    
  6. Ustawienie polskich znaków w konsoli, polskiego układu klawiatury w środowisku graficznym oraz problemy z NetworkManager po aktualizacji oraz nazwa komputera.

    Podczas instalacji ustawialiśmy w pliku opcje dotyczące czcionki oraz mapę znaków konsoli. Jednak jak mogliśmy zauważyć zamiast polskich znaków wyświetlają się białe kwadraciki. Jeśli otworzymy ten plik jeszcze raz, w pierwszej linii znajduje sie informacja, że te ustawienia nie są włączone domyślnie i trzeba je właczyć za pomocą podanego polecenia.

    $ sudo rc-update add consolefont boot
    

    Po restarcie, polskie znaki powinny poprawnie się wyświetlać.

    Kiedy uruchomimy środowisko graficzne oraz terminator, to tutaj też może być problem z polskimi znakami. Problem wynika z tego, że serwer xorg, nie ma załadowanego polskiego układu klawiatury Układ klawiatury dla X Window może być ładowany przed jego startem, więc dodamy kolejne trzecie polecenie do pliku ~/.xinitrc. Polecenie to umieszczamy nad poleceniem exec.

    setxkbmap -layout pl
    

    Po zamknięciu Fluxbox-a (opcja Exit w submenu Fluxbox) i uruchomieniu jeszcze raz środowiska graficznego, polskie znaki w terminatorze powinny się wyświetlać poprawnie.

    Podczas aktualizacji systemu zostanie zainstalowana nowa wersja programu NetworkManager. Instalacja tej aktualizacji usuwa ten program jako usługę, co może nieco utrudnić nam życie, ponieważ będzie trzeba za każdym razem łączyć się samodzielnie z internetem, jest to jeszcze do zniesienia jeśli mamy zainstalowany pakiet dhclient. NetworkManager zawiera kilka wygodnych narzędzi jak nmtui-connect (menedżer połaczeń sieciowych) czy nmtui-hostname. Ze względu na ten problem kazałem podczas instalacji skopiować plik usługi NetworkManager. Teraz wystarczy go przekopiować do katalog /etc/init.d nadać odpowiednie uprawnienia i dodać do uruchomienia wraz ze startem systemu.

    $ sudo su
    # cp /root/NetworkManager /etc/init.d
    # chmod +x /etc/init.d/NetworkManager
    # rc-update add NetworkManager boot
    

    Ostatnim zagadnieniem na tej liście będzie nazwa komputera. Podczas instalacji wsponiałem, że zdefiniowanie nazwy hosta w pliku tak jak każe przewodnik instalacji nic nie da ponieważ to nie działa. Podczas uruchamiania systemu, uruchamiana jest również usługa hostname jednak jej start kończy się fiaskiem. Dlaczego? Otóż dlatego, że mino odczytu nazwy z pliku podanego w poradniku to w systemie brakuje programu, który tę nazwę ustawi - polecenia hostname. Podejrzewam, że usługa ta jest jedną z domyślnych systemu OpenRC, a sama dystrybujcja wykorzystująca tego typu wersję programu init nie przewiduje potrzeby posiadania polecenia hostname. Jedynym w miarę zadawalającym wynikiem jest użycie wspomnianego już narzędzia nmtui-hostname. Problem z tym rozwiązaniem jest tego typu, że nazwa zostanie ustawiona dopiero po zalogowaniu się użytkownika. Po wydaniu polecenia:

    $ sudo mntui-hostname
    

    Wyświetli się okienko z polem do wpisania nazwy komputera, następnie wybieramy "Ok", jeśli nazwa nie zostanie ustawiona od razu wymagany będzie restart systemu.

    Opisane powyżej problemy prawdopodbnie występują wyłącznie w wersji OpenRC Parabola GNU/Linux-libre.

Podsumowując, dużo satysfakcji daje posiadanie w pełni wolnego systemu operacyjnego na mogło by się wydawać tak zamkniętym sprzęcie jakim może być ten MacBook. Sam jestem zdumiony, że wszystko w nim działa od możliwości uruchomienia środowiska graficznego po sieć bezprzewodową to pierwsze potrafi nie być tak oczywiste a o tym drugim na wielu sprzętach przenośnych możemy poprostu zapomnieć lub dokupić sobie adapter z chipem, dla którego istnieje wolny sterownik. Jaką kartę kupić możemy sprawdzić na tym portalu: https://deviwiki.com. Problem z korzystaniem z komputera tego typu jest klawiatura, MacBooki mają inny okład klaiwszy od zwykłych pecetowych klawiatur. Sam system posiada kilka niedociągnęć. Podejrzewam jednak, że niema dystrybucji doskonałej, a bazując na swoich doświadczeniach zauważyłem, że im więcej warstw (duża ilość róźnych demonów, podsystemów itp.) tym więcej jest z taką dystrybucją problemów. Warto by naprawić w tej dystrybucji tę nazwę komputera bo to trochę żałosne. Każą Ci to zrobić w poradniku instalacji, a to i tak niedziała (XD). Czy będe korzystał z tego komputera i systemu? Podoba mi się wydajność opisanego tu rozwiązania na tym sprzęcie. Jedyną wadą może być brak dostępu do maszyn wirtualych, ale mam w zanadzrzu jescze kilka serwerów. Więc myślę, że tak. Wracając do klawiatury. MacBooki zarówno te stare jak i te nowe posiadają inny układ klawiatury, różni się on o tyle, że przesiadając się na z PC na Maca i odwrotnie trzeba się chwilę do niej przyzwyczaić. Komputery Apple w swoich klawiaturach mają zamieniony miejscem (względem klawiatur PC) prawy alt. Klawisz ten to modyfikator do wpisywania liter diakrytycznych specyficznych dla konkretnego języka. W moim przypadku gdy korzystam na PC z klawiatur gamingowych nie posiadają one prawego klawisza Windows. Posiadają przycisk Fn, który nie jest przekazywany do komputera przez klawiaturę, więc nie miałem z czym zamienić klawisza alt, ale jeśli nie w tę strone to może w drugą. Na MacBooku zamienię prawy alt z prawym CMD. Znalazłem na serwisie superuser.com jak zamienić ze sobą klawisze na środowiskach graficznych opartych na X Window. Potrzebny jest dodatkowy dot-file .Xmodmaprc w katalogu domowym użytkownika oraz dodatkowe polecenie w pliku .xinitrc. Poniżej znajduje się listing pliku .Xmodmaprc z poleceniami dla programu xmodmap.

remove mod5 = ISO_Level3_Shift
remove mod4 = Super_R
keycode 108 = Super_R
keycode 134 = ISO_Level3_Shift
add mod5 = Super_R
add mod4 = ISO_Level3_Shift

Po utworzeniu pliku zapisujemy polecenie, które uruchomi zamianę klawiszy przed uruchomieniem środowiska graficznego (polecenie umieszczamy przed poleceniem exec). To rozwiązanie działa tylko dla środowiska graficznego.

xmodmap ~/.Xmodmaprc

Z czystej ciekawości postanowiłem sprawdzić na większości swoich sprzętów jak na nich będzie funkcjonować Parabola. Poniżej zamieściłem tabelkę z nazwą sprzętu oraz z tym co działa a co nie.

Lp. Nazwa sprzętu GUI Audio Wi-Fi Uwagi
1. Apple MacBook A1181 32-bitowe EFI, trzeba specjalnie przygotować dysk USB, żeby zbootwać Linux-a na tym sprzęcie.
2. Saphire Pure White Fusion
AMD E-350 mini-ITX
N/A Domyślnym wyjściem audio jest port HDMI, możemy zmienić to wyświetlając listę wyjść audio oraz wskazując odpowiednie wyjście sterownikowi. Listę wyjść możemy wyświetlić za pomocą polecenia:
$ lspci -knn | grep -iA2 audio
Lista domyślnie numerowana jest od 0. Jest to istotne, ponieważ trzeba podać index - pozycję na liście. Domyślne wyjście ustawiamy tworząc plik default.conf w katalogu /etc/modprobe.d. W pliku zapisujemy poniższą linię.
options snd_hda_intel index=1
3. HP Z600 Workstation N/A Bardzo szybkie działanie systemu!
4. Gigabyte H55M-UD2H/i5-650/
16GB DDR3 1333MHz/GeForce 210
N/A
5. HP 550 Karta sieciowa Broadcom, brak wolnego sterownika.
6. Dell Wyse Z90D7 N/A Problemy z UEFI, przy próbie zainstalowania systemu wyświetla się "Could not prepare boot variable: No space left on device". Nie możliwe jest zbootowania z BIOS. Zainstalowałem rEFInd na dysku USB w środowisku zmienionego katalogu (dysk z zainstalowanym system oraz programem rozruchowym w trybie BIOS), przez co program utworzy wpis w menu umożliwiający uruchomienie z niego jądra. Program należy zainstalować z repozytorium a następnie wydać poniższe polecenie.
refind-install --usedefault /dev/sdXY
Gdzie /dev/sdXY jest partycją stworzoną na dysku USB, partycja powinna być ustawiona na EFI (kod typu partycji w programie fdisk: ef) oraz sformatowana na FAT-32.

Jeden wpis nie oznacza całej tabeli, w miarę moich możliwości będę sprawdzał inne sprzęty, o aktualizacjach będę informował w changelogu na stronie głównej.

Źródła:

  1. Przydatne informacje podczas tworzenia USB z obrazem płyty dla MacBook 2,1
  2. Poradnik instalacji Parabola GNU/Linux-libre
  3. Zamiana klawiszy za pomocą xmodmap na https://superuser.com
  4. Ustawienie domyślnego wyjścia audio dla sterownika HDA Intel
  5. Artykuł o rEFInd na Wiki Arch Linux

~xf0r3m