Blog (1)
Komentarze (262)
Recenzje (0)
@muska96Systemy BSD w praktyce – instalacja i testy OpenBSD na Acer Emachines EM350

Systemy BSD w praktyce – instalacja i testy OpenBSD na Acer Emachines EM350

15.07.2016 | aktual.: 15.07.2016 13:58

Zainspirowany wpisem użytkownika dragon321 postanowiłem przetestować, jak OpenBSD, system z rodziny BSD, poradzi sobie poza maszyną wirtualną jako komputer do użytku domowego. Użyłem do tego starego już netbooka Emachines EM350

Bohater wpisu
Bohater wpisu

Uprzedzając komentarze typu

Ale to system na firewalle, a nie na Desktop!

Mam tego świadomość, a ten wpis ma głównie charakter poradnika, jak poprawnie zainstalować i skonfigurować ten system.

Dlaczego akurat OpenBSD, a nie Free, Ghost czy DragonFlyBSD?

OpenBSD ma kilka zalet, dzięki którym przeważa nad innymi – kładzie duży nacisk na bezpieczeństwo i posiada bardzo dobre wsparcie sprzętowe. W sieci jest bardzo mało poradników, jak zainstalować go, by mógł współpracować z innymi systemami, a nie powstał ani jeden, jak zainstalować go na zaszyfrowanej partycji, tak, aby mógł działać z innymi systemami na jednym dysku. Ostrzegam – wpis będzie długi, a zrzuty ekranu z instalacji musiałem robić na maszynie wirtualnej. Warto przed instalacją przeczytać FAQ znajdujące się na stronie systemu – można tam znaleźć dużo przydatnych informacji.

Krok pierwszy, czyli rozpoznanie sprzętu

Rozpoznanie naszej karty graficznej i sieciowej możemy wykonać za pomocą polecenia

inxi -b

na GNU/Linux lub używając programu Speccy na Windows

Jeśli posiadasz:

  • kartę graficzną AMD Radeon z architekturą CGN lub Nvidia GeForce nowszą niż GTX 3xx
  • Grafikę Intela z serii Skylake
  • Kartę sieciową, której nie ma na tej liście
  • Grafikę hybrydową (Muxless Graphics)

To zabawa z OpenBSD odpada, co nie oznacza, że to już koniec z *BSD – można spróbować Free lub GhostBSD, które mają wsparcie dla własnościowych sterowników Nvidii.

Krok drugi, czyli przygotowanie partycji dla nowego systemu

Tu sprawa jest prosta – wystarczy, że za pomocą Gparted lub jakiegokolwiek innego narzędzia wydzielisz dodatkową partycję ext2 - może być każdy inny typ. Dlaczego nie UFS? Bo będziemy instalować system na tzw. Softraid, czyli programowy RAID, który będzie zaszyfrowany. Jeśli nie chcesz mieć zaszyfrowanego systemu, możesz po prostu stworzyć partycję UFS dla OpenBSD i jako swap używać Linuksowej partycji wymiany lub stworzyć drugą partycję specjalnie do tego celu. Zrzut ekranu, jak to powinno wyglądać:

Uklad partycji
Uklad partycji

Krok trzeci, czyli instalacja systemu

Ściągamy obraz ISO z dowolnego serwera lustrzanego podanego na tej liście, a najlepiej któregoś z Polski np. tego. Wybieramy najnowszą wersję systemu (Obecnie 5.9) i architekturę (w moim wypadku amd64) i pobieramy obraz ISO install59.iso lub install59.fs jeśli będziemy używać pendrive to tego celu. Obraz możemy nagrać na płytce z pomocą np. Xfburn lub na Pendrive za pomocą komendy dd. Po uruchomieniu instalacji obraz powinien wyglądać tak:

Widok po uruchomieniu instalatora
Widok po uruchomieniu instalatora

Wybieramy shell, by móc skonfigurować partycję dla OpenBSD oraz nasz programowy RAID. Najpierw sprawdźmy, jakie oznaczenia mają nasze dyski używając do tego polecenia

dmesg | grep "^[sw]d"

W moim wypadku było to wd0, jednak na maszynie wirtualnej był to sd0. Wyjaśnienie tych oznaczeń znajduje się w FAQ. Teraz musimy zmodyfikować MBR dla wcześniej stworzonej partycji dla OpenBSD używając polecenia

fdisk -e sd0

Gdzie sd0 to twój dysk. Na tym etapie trzeba być bardzo ostrożnym, by niczego nie zepsuć, bo możemy się pożegnać z MBR. Wpisujemy p, aby znaleźć naszą partycję przeznaczoną dla OpenBSD.

Widok narzędzia fdisk
Widok narzędzia fdisk

Na maszynie wirtualnej była to 3 partycja, a na netbooku 4 – pamiętajmy, że fdisk numeruje je od zera. Teraz gdy znamy numer naszej partycji, wydajemy komendę

setpid x

gdzie x to numer partycji. Fdisk zapyta o Partition id - podajemy A6, które odpowiada partycji OpenBSD. Zapisujemy zmiany poleceniem write i wychodzimy z narzędzia fdisk, wpisując q lub quit. Teraz tworzymy partycję RAID, która będzie konieczna do zbudowania programowego RAID. Wydajemy polecenie

disklabel -E sd0

i wybieramy opcję wyświetlenia partycji, czyli p.

Widok partycji według narzędzia disklabel
Widok partycji według narzędzia disklabel

Mamy 3 partycje – c,i oraz j. Pierwsza to litera oznaczająca cały dysk, druga to partycja /boot, a trzecia to system — nie została rozpoznana, bo była to partycja LVM. Dodajemy kolejną partycję (w tym przypadku k) poleceniem

a k

Następnie wybieramy offset i rozmiar, który pojawi nam się przy wydawaniu polecenia p jako

OpenBSD area: offset-rozmiar

Niestety nie posiadam zrzutu ekranu z tego polecenia. Teraz wybieramy system plików, wpisując RAID i zatwierdzając Enterem. Następnie zapisujemy zmiany poleceniem w i wychodzimy za pomocą polecenia q.

Widok narzędzia disklabel
Widok narzędzia disklabel

Teraz przystępujemy do stworzenia zaszyfrowanego programowego RAID 0 poleceniem

bioctl -c C -l /dev/sd0k softraid0

Gdzie sd0k to nasza partycja k na dysku sd0. Podajemy powtórnie hasło (można też użyć partycji-klucza, ale to wymaga stworzenia dodatkowej partycji na innym urządzeniu np. karcie SD czy pendrive) do naszego systemu i zapamiętujemy, jako który dysk został podłączony nasz programowy RAID – hasło też warto zapamiętać :)

Nasz wolumen został podłączony jako sd1
Nasz wolumen został podłączony jako sd1

Przed instalacją warto sprawdzić, czy nasza karta sieciowa wymaga dodatkowego firmware – jeśli po wpisaniu komendy

dmesg | grep configured

znajdziemy gdzieś informację device not configured, to musimy najpierw połączyć się np. za pomocą tetheringu w smartfonie. Po podłączeniu smartfona zostanie wyświetlona nazwa interfejsu tetheringu USB - z reguly jest to urndis. Potem trzeba uzyskać lokalne IP za pomocą polecenia

dhclient urndis0

i uruchomić skrypt

fw_update

który pobierze niezbędny firmware. Wydajemy polecenie exit i przystępujemy do instalacji systemu. Tu już z górki – ustawiamy układ klawiatury na pl, nazwę komputera, konfigurujemy WiFi i Ethernet, hasło roota i tworzymy użytkownika.

Podstawowe ustawienia podczas instalalcji
Podstawowe ustawienia podczas instalalcji

Przy wybieraniu dysku do inicjalizacji używamy tego, który stworzyliśmy przy zbudowaniu Softraid.

Wybór dysku do zainstalowaina
Wybór dysku do zainstalowaina

Wybieramy whole MBR i tworzymy własny układ partycji wybierając c i tworzymy partycję: najpierw a b, czyli partycja wymiany, a potem a a, czyli partycja dla naszego systemu.

Instalacja systemu
Instalacja systemu

Jeśli system instalujemy z płytki, przy pytaniu, skąd instalować system wybieramy cd, a jeśli pendrive wybieramy disk, odpowiadamy no na pytanie, czy jest on zamontowany i wybieramy nasz pendrive z listy dysków. Ja instalowałem z płytki z zewnętrznego napędu CD, bo pendrive odmawiał posłuszeństwa. Na pytanie, czy instalować system bez podpisu SHA256 odpowiadamy yes – powód tego jest wyjaśniony w FAQ.

Potwierdzenie instalacji bez weryfikacji pakietów
Potwierdzenie instalacji bez weryfikacji pakietów

o zainstalowaniu systemu powinniśmy zostać powitani takim komunikatem:

Instalacja zakończona sukcesem
Instalacja zakończona sukcesem

Krok czwarty, czyli konfiguracja GRUB

Teraz restartujemy system poleceniem reboot i wracamy do Linuxa, by stworzyć dla OpenBSD wpis w GRUB. Można użyć do tego narzędzia Grub customizer i stworzyć wpis ustawiając tryb Chainloader i wybierając partycję z OpenBSD (Dalej jest widziana jako ext2):

Wpis w Grub Customizer
Wpis w Grub Customizer

Po zapisaniu możemy już Wybrać nasz system z listy Gruba po restarcie komputera. Teraz zaczyna się największa zabawa – konfiguracja systemu. Po uruchomieniu systemu logujemy się jako root i wydajemy kolejno polecenia: [code=shell][/code]

touch /etc/pkg.conf
echo installpath=ftp.icm.edu.pl > /etc/pkg.conf

Dzięki nim dodajemy serwer lustrzany, z którego mają być pobierane nowe pakiety. Teraz przetestujmy, czy wszystko jest ok, instalując edytor nano, który na pewno się jeszcze przyda.

pkg_add nano

Jeśli poprawnie skonfigurowaliśmy sieć podczas instalacji, to edytor nano zainstaluje się bez problemu. Teraz zainstalujemy środowisko Xfce4, dzięki któremu system będzie nadawał się do pracy bez konsoli. Używamy do tego polecenia

pkg_add xfce

Po zakończonej instalacji tworzymy plik doas.conf. Doas to odpowiednik sudo, który pojawił się w OpenBSD 5.8 i jest bardzo prosty do skonfigurowania. Używamy do tego polecenia

nano /etc/doas.conf

w pliku wpisujemy dwa wiersze:

permit nopass keepenv root as root
permit keepenv user as root

gdzie user to nazwa użytkownika stworzonego podczas instalacji. Teraz wychodzimy z roota, wpisując

su user

(gdzie user to twój użytkownik) i startujemy Xfce poleceniem

startxfce4
System przed skonfigurowaniem
System przed skonfigurowaniem

Teraz, już w terminalu Xfce doinstalujemy resztę aplikacji poleceniem:

doas pkg_add xfce-extras slim chromium libreoffice libreoffice-i18n-pl gimp inkscape shotwell evince audacious audacious-plugins wget toad firefox firefox-i18n-pl

Z tej listy nie można pominąć slim oraz toad – pierwszy to tzw. Display Manager, który będzie nam niezbędny do zalogowania się (chyba że ktoś woli za każdym razem wklepywać startxfce4), a drugi umożliwia automatyczne montowanie urządzeń wymiennych takich jak pendrive. Niestety nie udało mi się zmusić GDM do działania z Xfce, a jeszcze nie ma portu LightDM, który byłby chyba najlepszy. Teraz musimy stworzyć plik .xinitrc, z którego Slim wczytuje sesję użytkownika. Robimy to w terminalu za pomocą polecenia

nano ~/.xinitrc

W pliku wpisujemy następujące wiersze: [code=shell][/code]

export LC_CTYPE="pl_PL.UTF-8"
export LANG="pl_PL.UTF-8"
exec ck-launch-session startxfce4

Dzięki eksportowi zmiennych środowiskowych LC_CTYPE oraz LANG aplikacje wyświetlają się w języku polskim, a dzięki użyciu ck‑launch-session można z poziomu Xfce wyłączyć system czy go uśpić. Kolejnym plikiem jaki stworzymy będzie rc.conf.local w folderze etc. Robimy to poleceniem

doas nano /etc/rc.conf.local

Podajemy hasło użytkownika i w edytorze dopisujemy następujące wiersze:

multicast_host=YES
hotplugd_flags=""
apmd_flags="-A"
pkg_scripts="messagebus toadd slim"

Dzięki nim włączony zostanie demon zarządzania energią, automatycznego montowania i menedżer wyświetlania. Ponieważ partycję wymiany mamy na programowym RAID, który jest zaszyfrowany, nie ma potrzeby powtórnego szyfrowania partycji wymiany, która w OpenBSD jest domyślnie szyfrowana. Aby wyłączyć szyfrowanie partycji wymiany, trzeba skopiować plik sysctl.conf z folderu /etc/examples do folderu etc poleceniem

doas cp /etc/examples/sysctl.conf /etc/sysctl.conf

i za pomocą edytora nano:

doas nano /etc/sysctl.conf

usunąć znak # z linijki zawierającej tekst vm.swapencrypt.enable=0. Ostatnią istotną zmianą jest zwiększenie limitów pamięciowych dla zwykłego użytkownika. Można to zrobić zmieniając plik login.conf w folderze etc poleceniem

doas nano /etc/login.conf

i przy grupie default:\ zmienić linijki :datasize-max i :datasize-cur np.

:datasize-max=512M:\
:datasize-cur=256M:\

na

:datasize-max=1024M:\
:datasize-cur=512M:\

W zależności od liości posiadanego Ramu. Aby zaktualizować bazę, trzeba wydać polecenie

doas cap_mkdb /etc/login.conf

Warto teraz skonfigurować sobie panele Xfce i wygląd, a później zrestartować system poleceniem

doas reboot

Po uruchomieniu systemu wyświetli się domyślny ekran logowania slim, a po zalogowaniu będziemy mieli gotowy do pracy system. Możesz sobie pogratulować i założyć swoją czapeczkę z folii aluminiowej.

System po skonfigurowaniu
System po skonfigurowaniu

Teraz pora na kilka testów!

Bardzo marny wynik
Tu już nieco lepiej
Akceleracja 3D dziala świetnie
Akceleracja 3D dziala świetnie

Dla porównania na Xubuntu Chromium osiągnął około 350 punktów, a Midori 512. OpenBSD jest niestety nieco wolniejszy niż Xubuntu, ale myślę, że jest to spowodowane słabym sprzętem – różnice powinny być dużo mniejsze na silniejszej maszynie. Poza tym spadkiem wydajności muszę powiedzieć, że działa praktycznie wszystko - łącznie z dźwiękiem i bezproblemowym usypianiem. Jedyny problem, na który jak na razie natrafiłem to konieczność ręcznego montowania karty SD - z czytnika kart na USB działa bez problemu.

Postanowiłem, że podłączę do netbooka tablet graficzny Wacom Bamboo 3 i przetestuję Inkscape – tablet zadziałał do razu.

Jak na tak leciwy netbook program działa płynnie
Jak na tak leciwy netbook program działa płynnie
Na koniec Screenfetch
Na koniec Screenfetch

Jeśli wytrwałeś aż do tego momentu, to w nagrodę otrzymujesz obrazek tego ładnego kota z blinem:

597393

Jeśli macie jakieś uwagi, pytania czy pomysły na przetestowanie tego systemu piszcie! Chętnie posłucham uwag i przeprowadzę inne testy. Dziękuję za uwagę i do następnego wpisu!

Źródła, z których korzystałem:

Wybrane dla Ciebie
Komentarze (74)