Armbian – uniwersalny system operacyjny dla Banana Pi i nie tylko
Do niedawna moim ulubionym OS’em na płytkę Banana Pi M1 był Bananian, czyli lekki i prosty Debian w dość minimalistycznym wydaniu. System ten jednak od kwietnia 2017 nie jest już rozwijany i jego naturalnym następcą stał się coraz bardziej popularny Armbian. Poniższy opis to efekt kilkudniowego obcowania z tym, dość przyjemnym i dopracowanym systemem. OS jest dostępny na wiele płytek opartych na architekturze ARM, do tego społeczność jest już całkiem spora, co przekłada się na dobre wsparcie.
Armbian – pobieranie i instalacja na karcie
Strona domowa projektu Armbian to https://www.armbian.com/. Nad całością czuwa Słowak, Igor Pecovnik. Repozytorium projektu znajduje się na GitHub, pod adresem https://github.com/igorpecovnik. Obecnie, OS jest dostępny i rozwijany na następujące platformy: Beelink X2, Orange Pi PC plus, Orange Pi Plus 2E, Orange Pi Lite, Roseapple Pi, NanoPi M1, pcDuino2, pcDuino3, Odroid C0/C1/C1+, Banana Pi M2+, Hummingboard 2, Odroid C2, Orange Pi 2, Orange Pi One, Orange Pi PC, Orange Pi Plus 1 & 2, Clearfog, Lemaker Guitar, Odroid XU4, Udoo Neo, Banana Pi M2, Orange Pi A31S, Cubieboard 1, Cubieboard 2, Hummingboard, Lamobo R1, Banana Pi PRO, Orange Pi mini A20, Olimex Lime A10, Olimex Micro, Olimex Lime 2, pcDuino3 nano, Banana Pi Plus A20, Udoo quad, Orange Pi A20, Olimex Lime 1, Banana Pi, Cubox-i, Cubietruck. Jak widać, jest tego sporo. Po przejściu na podstronę pobierania – http://www.armbian.com/download/ – wyświetlane wyniki można zawęzić określając procesor, lub po prostu wybrać swoją płytkę i kliknąć w nią:
W dalszej części otrzymujemy dostęp do dwóch wersji: Ubuntu Desktop Legacy Kernel oraz Debian Server Mainline Kernel. Zgodnie z opisem ta pierwsza zawiera środowisko graficzne (XFCE) i jest przeznaczona do multimediów i zastosowań biurkowych, zamienia Banana Pi w mini desktopa, system oparty jest na Ubuntu 16.04 z dość starym jądrem z linii 3. Wersja zbudowana na Debianie ma nowe jajko w wersji 4 i jest rekomendowana do zastosowań serwerowych z interfejsem tekstowym. Z mojego punktu widzenia właśnie ten armbian jest najbardziej interesujący i nim zajmę się w dalszej części. Pobierać najlepiej oczywiście przez torrent – szybciej niż przez przeglądarkę a i nie obciążamy serwera FTP.
Obraz po pobraniu należy rozpakować i zapisać na karcie SD za pomocą np. Win32diskimager (Windows) czy aplikacji Zapisywanie obrazów płyt na USB lub w terminalu za pomocą dd (Linux Mint), inne aplikacje to popularny ostatnio Etcher (Windows, Linux, Mac). Opis jak to zrobić można znaleźć np. tutaj: http://grylewicz.pl/raspberry-pi-pierwsze-kroki/. Sam system nie zajmuje wiele miejsca na karcie, ale z uwagi na chociażby cenę czy dostępność, uzasadnienie ma użycie markowych nośników o pojemności 8GB i większej. Oczywiście im szybsza karta, tym lepiej. Tutaj http://grylewicz.pl/porownanie-kart-sd-class-4-10-i-uhs-1/ możesz przeczytać o krótkim teście różnych kart SD.
Armbian mainline kernel – pierwsze uruchomienie
System jest o tyle fajny, że już defaultowo ma włączony serwer ssh, więc pierwsze odpalenie możemy zrobić z poziomu sieci, bez kłopotliwego podłączania klawiatury i monitora. Wystarczy zasilanie i kabel sieciowy wpięty do routera z serwerem DHCP. Teraz pytanie, jaki adres ip ma nasz Armbian? Ja loguję się do mojego routera i patrzę sobie w dzierżawy adresów. Urządzenie ma domyślną nazwę bananapi:
Nie każdy router udostępnia takie informacje, ale jeśli obsługuje poprawnie nazwy urządzeń sieciowych, a wiemy że nasza płytka rozgłasza się w sieci jako bananapi, to możemy pingować nazwę i w rezultatach dostaniemy adres:
Działa to nawet w Windows (10):
Jeśli działa ping po nazwie, to i połączenie ssh można zestawić bez korzystania z IP. W Windows polecam PuTTY, w linuksie po prostu wpisuję:
ssh root@bananapi
Zatwierdzam klucz i wpisuję hasło, domyślnie jest to 1234. Czyli defaultowe poświadczenia to root z hasłem 1234. Od razu po zalogowaniu widzimy miły dla oka banner z przydatnymi informacjami i co zrozumiałe, prośbę o zmianę hasła:
W dalszej części system proponuje prostym kreatorem założenie nowego użytkownika:
No i już można korzystać z systemu. Prosto, łatwo i przyjemnie.
Podstawowe narzędzia i skrypty w Armbianie
Podstawowa konfiguracja systemu, zgodnie z komunikatem po zalogowaniu, znajduje się w skrypcie armbian-config. Zaraz po wywołaniu pojawia się ekran z ostrzeżeniem, które które należy potwierdzić:
Kolejne, już ciekawsze okienko, zawiera konkretne opcje:
Dostępne ustawienia są na tyle przejrzyste, że raczej nie wymagają szerszego omówienia. Jeśli coś jest niezrozumiałe, warto sobie po prostu to poprzeglądać i poeksperymentować. Weźmy pod lupę Softy:
Wygląda nieźle prawda? Szybka instalacja Samby, czy OpenMediaVault dodającego funkcjonalność dysku sieciowego (BananaPi posiada gniazdo SATA, a dyski 2,5″ są dość tanie :). Zostawmy na razie armbian-config i zobaczmy co jeszcze jest w systemie, np. znany i lubiany zamiennik top’a, czyli htop:
Dźwięk? Oczywiście alsa, alsamixer też jest:
Znalazłem jeszcze armbianmonitor, który po uruchomieniu wygląda tak:
Instalacja RPi-Monitora brzmi nieźle, więc:
armbianmonitor -r
I po chwili mamy komunikat, że dostęp do niego jest pod adresem 192.168.1.165:8888 z poziomu przeglądarki internetowej. A wygląda on tak (trzy screeny obok siebie):
Użytkownicy korzystający z BananaPi i systemu Bananian pamiętają pewnie zieloną diodę, która była “biciem serca” a częstotliwość migania uzależniona była od obciążenia CPU. Fajny bajer, który można bardzo łatwo uruchomić w armbianie. Najpierw sprawdźmy co może sygnalizować zielony LED i co jest wybrane obecnie, czyli:
cat /sys/class/leds/bananapi:green:usr/trigger
Wśród opcji wielu dostępnych opcji, na samym początku mamy tą aktywną, czyli [none]. Zmieńmy to na heartbeat:
echo "heartbeat" > /sys/class/leds/bananapi:green:usr/trigger
Sprawdzenie daje oczekiwany wynik, czyli aktywne jest teraz [heartbeat]. No i zielony LED pulsuje :).
Podsumowanie
Słowacki Armbian to z pewnością godny następca niemieckiego Bananiana i sprawdzi się jako uniwersalny system na tej płytce. Banana Pi M1 jest dość wiekowa (04.2014), mimo tego nadal ma duży potencjał i sporo ciekawych, wspieranych systemów operacyjnych. Wykorzystywałem i nadal wykorzystuje kilka płytek bpi M1 w różnych projektach, gdzie pracują non-stop i potwierdzają swoją niezawodność i stabilność (serwer www, router, podgląd obrazu kamer IP).
Nie jestem ekspertem od Bananów, ani innych owoców. Więc mam pytania.
1) Czy SATA ma jakieś ograniczenia? Przy płytce M1+ jest adnotacja do 2TB, ale w M2 już takiej niema.
2) Czy interfejs SATA można dzielić? Z tego co widzę, dzięki tej płytce https://www.morele.net/kontroler-startech-5x-sata-st521pmint-723908/ miał bym 5 gniazd SATA.
3) Będzie coś takiego działać przy Bananie?
4) Czy z wykorzystaniu płytki powyżej mógł bym zbudować NASa na kilka dysków?
5) Czy mógłbym zrobić z tego cloud – node1 master z cache, nodeN+ z dyskami. Tak by w przypadku nie korzystania z danych nodeN+ zapadały w deepsleep?
Dobre pytania, może na jakichś forach poświęconych tym płytkom warto poszukać.
A zapomniałem, jakie inne owoce posiadają SATA?
Pewnie posiadają, trzeba poszukać
np. Orange Pi Plus2
Głównym ograniczeniem sata w Banana Pi jest brak możliwości bootowania.
Można przenieść system na dysk sata ale do uruchomienia i tak jest potrzebna mała karta sd z odpowiednimi skryptami i zmodyfikowanym boot.scr
Spodobał mi się Armbian. Zainstalowałem go na moim Banana PiR1. Niestety mam problem z hostapd. Sygnał WiFi jest niestabilny i co jakiś czas zanika całkowicie. Wydaje mi się, że problemem nie jest sterownik karty WiFi bo taki sam mam na drugiej karcie sd z systemem ArchLinux i na tym systemie Banana PiR1 utrzymuje bardzo stabilny sygnał WiFi. Różnica jest tylko taka że hostapd ArchLinuxa jest z 2018 roku a ten z Armbiana z 2014r.
Czy ktoś mi podpowie czy i jak tego nowego hostapd da się zainstalować na Armbianie ?
Pobierz źródła hostapd i skompiluj sobie
Witam.
Zainstalowałem Armbiana na Orange Pi2. Skonfigurowałem połączenia Lan i strefę czasową.
Mam taki problem, że po dniu może dwóch w systemie pojawia się data 20.06.1977r. Nie wiem sąd się to bierze. Dodam, że po restarcie data jest przez ntp pobierana prawidłowo a wykrzacza się po dniu, dwóch. Czy byłby mi ktoś w stanie to wyjaśnić?
Hej, napisz na forum armbiana, wygląda to na jakiś bug. Poczytaj o timedatectl, może dodać do crona zadanie, które będzie cyklicznie synchronizowało czas – takie tymczasowe rozwiązanie problemu.