Malina Pi

Porównanie systemu operacyjnego Raspberry Pi z. Armbian kontra. Debian GNU/Linux

Porównanie systemu operacyjnego Raspberry Pi z. Armbian kontra. Debian GNU/Linux
Wielu programistów może mieć to samo pytanie: Czy Armbian to tylko kolejny smak Debiana GNU/Linuksa, czy może jest to coś zupełnie innego?? Jakie są różnice między Raspberry Pi OS, Armbian i Debian?? W tym artykule szczegółowo omówimy systemy operacyjne Armbian, Debian i Raspberry Pi, w tym porównanie między tymi różnymi systemami.

Owocowe Przebudzenie

W 2012 roku Raspberry Pi spopularyzowało klasę komputerów jednopłytkowych (SBC) dla ogółu społeczeństwa. W tamtych czasach każdy, kto miał wiedzę na temat urządzeń takich jak RouterBOARD od Mikrotika [9] czy ALIX Board od PC Engines [11] był postrzegany jako egzotyczny. Dziś nie można sobie wyobrazić codziennej egzystencji bez tych potężnych minikomputerów. Urządzenia te można znaleźć wszędzie – w routerach Wi-Fi, stacjach pogodowych, urządzeniach automatyki domowej i przyrządach do pomiaru drobnego pyłu. Urządzenia te działają ze specjalnie przystosowanymi dystrybucjami Linuksa lub BSD, z których Armbian i RaspberryPi OS są tylko dwoma przedstawicielami wielu.

„Armbian” to sztuczne słowo, które łączy słowa „ARM” dla odpowiedniej architektury procesora RISC [3] oraz dwie ostatnie sylaby „bian” z „Debian.' To bardzo jasno pokazuje, co odróżnia Armbiana od Debiana GNU/Linuksa; w przeciwieństwie do Debiana, Armbian jest skoncentrowany i zoptymalizowany pod kątem architektury ARM.

Co więcej, podczas gdy dystrybucja Debian GNU/Linux obsługuje różne architektury sprzętowe, w tym ARM7 (32-bitowy) [4] i ARM8, dystrybucja Armbian koncentruje się tylko na szerokiej gamie płyt rozwojowych opartych na ARM. Ze strony projektu można pobrać obrazy dystrybucji dla Orange Pi [5], Cubieboard [6],

i Asus Tinkerboard [7], m.in. Cubian [12], fork Debiana GNU/Linux dla Cubieboard, wydaje się nie być już utrzymywany, ponieważ ostatnie wydanie pochodzi z 2014 roku.

Raspberry Pi OS [8] to oficjalny system operacyjny Raspberry Pi Foundation [17] dla ich SBC. Początkowo nosił nazwę Raspbian, od projektu Raspbian [15], na którym się opiera. Fundacja Raspberry Pi dodała później do swoich obrazów kolejne repozytorium pakietów z częściowo zamkniętym oprogramowaniem źródłowym. Projekt Raspbian nigdy nie publikował własnych obrazów, ale zawsze odwoływał się do obrazów Fundacji Raspberry Pi. Fundacja ostatecznie dodała swój własny smak dla komputerów stacjonarnych i wiele innych dostosowań, wykraczając daleko poza przebudowę Raspbiana i minimalne łatanie pakietów Debiana. Aby wyraźnie odróżnić projekt Raspbian od pochodnej Raspberry Pi Foundation, w 2019 r. zmieniono jej nazwę na Raspberry Pi OS.

W porównaniu z Armbian, projekt Raspbian i Raspberry Pi OS stosują odwrotne podejście: te dystrybucje opierają się na dziesiątkach współpracowników, którzy skupiają się na jednej platformie SBC. Oparty na 32-bitowej wersji „armhf” Debiana GNU/Linux, ma działać na wszystkich wersjach płyty Raspberry Pi, ale nie jest przeznaczony do pracy z żadnymi innymi SBC ARM. Sprzęt Raspberry Pi 3 i 4 może obsługiwać 64-bitowe systemy operacyjne. Tymczasem Raspberry Pi OS zawsze działa w wersji 32-bitowej, z wyjątkiem jądra Linux, które może być jądrem 64-bitowym. Niektóre pakiety stworzone specjalnie dla Raspberry Pi OS są również dostępne dla architektury Intel (warianty 32- i 64-bitowe) i mogą działać nawet na normalnym komputerze stacjonarnym z systemem Debian GNU/Linux.

Tylko przez ograniczony czas dostępne są również (nieoficjalne) obrazy Debiana GNU/Linux dla rodziny SBC Raspberry Pi [16]. Główną różnicą w stosunku do Raspberry Pi OS jest to, że obrazy dla tych systemów Raspberry Pi, które mogą działać w 64-bitowym systemie operacyjnym (Raspberry Pi 3 i 4), zawierają również 64-bitowy system operacyjny („arm64” w Debianie); podczas gdy inne obrazy działają w architekturze 32-bitowej „armhf” (Raspberry Pi 2) lub „armel” (Raspberry Pi 1 i Zero). Te dwa ostatnie różnią się od pakietów „armhf” dostarczanych przez Raspbian i Raspberry Pi OS. Historycznie kilka dystrybucji, w tym Debian GNU/Linux i Fedora, zdecydowało się na minimalny zestaw instrukcji dla procesora [19] potrzebny do architektury „armhf”. Pierwszy Raspberry Pi OS został opublikowany wkrótce potem i wspierał wszystkie wymagane instrukcje procesora oprócz jednej one.

Były więc dwie opcje: albo 1) użyć znacznie wolniejszej, ale niezoptymalizowanej architektury „armel”, jak Debian GNU/Linux nadal robi dla Raspberry Pi 1 i 0, albo 2) przedefiniować architekturę „armhf”. Debian GNU/Linux nie chciał robić drugiej opcji, ponieważ ta opcja odbiegałaby od tego, co już zostało ustalone i zaimplementowane. To był moment, w którym narodził się projekt Raspbian: deweloper Debiana Peter Green (znany również pod tagiem plugwash w IRC) przekompilował wszystkie pakiety „armhf” Debiana dla procesorów Raspberry Pi 1 (wtedy istniał tylko Raspberry Pi 1) z brak pojedynczej instrukcji procesora. Jest to również powód, dla którego nie można mieszać wydań „armhf” Debiana i „armhf” Raspbiana.

Rozmiar obrazu

Obrazy instalacji oferowane przez trzy projekty są zupełnie inne. Armbian wymaga, aby najpierw wybrać kategorię (np. Ogólne, IOT, NAS, Sieć lub Pulpit) i SBC. Następnie wybierz odpowiedni obraz oferowany za pomocą 4.9 lub 5.9 Jądro Linux dla oldstable (poprzednie wydanie), stabilne (bieżące wydanie) i testowe (nadchodzące wydanie). Rozmiar obrazu wynosi od 270 do 600 M. Każdy plik obrazu można pobrać bezpośrednio lub przez BitTorrent ze strony internetowej projektu. Aktualizowanie istniejącej instalacji Armbian odbywa się przy użyciu tych samych instrukcji, które są używane do utrzymywania systemu Debian GNU/Linux.

W przeciwieństwie do tego, opcje dla Raspberry Pi OS są nieco bardziej ograniczone. Raspberry Pi wymaga wyboru między systemem OS Lite, systemem operacyjnym z komputerem stacjonarnym oraz systemem operacyjnym z komputerem stacjonarnym i zalecanym oprogramowaniem. Wszystkie obrazy są wyposażone w 32-bitową wersję 5.4 jądro Linuksa. Rozmiar obrazu waha się od 440 M do 3 G. Pobieranie obrazu może odbywać się bezpośrednio, jako strumień danych torrent lub za pomocą Raspberry Pi Imager, narzędzia konfiguracyjnego opartego na GUI dostępnego dla systemów Windows, macOS i Ubuntu. Podobnie jak w przypadku Armbian, aktualizacja istniejącej wersji Raspberry Pi odbywa się przy użyciu tych samych instrukcji, które są używane do obsługi Debiana GNU/Linux.

Wreszcie, dla większości urządzeń, w tym większości urządzeń ARM, Debian GNU/Linux oferuje różne gotowe obrazy instalatora, w tym podstawową konfigurację, mały obraz do instalacji sieciowej, różne warianty pulpitu, które mieszczą się na jednej płycie CD lub DVD, Live CD, a nawet zestaw pełnych obrazów CD/DVD. Chociaż te obrazy nie są gotowymi do uruchomienia obrazami, zawierają instalator Debiana, minimalny system operacyjny, który służy wyłącznie do wykonywania instalacji systemu operacyjnego. Obrazy na żywo uruchamiane bezpośrednio z instalacji tylko do odczytu zawierają również Instalator Debiana.

Rozmiar obrazu wynosi od 250 M do 3 G. Pobieranie obrazu jest możliwe jako bezpośrednie pobranie lub przez BitTorrent. Zwykłe polecenia dotyczące pakietów Debiana są używane do aktualizacji istniejącej instalacji.

Nie dotyczy to systemu operacyjnego Raspberry Pi Raspberry. W rzeczywistości nie ma oficjalnych obrazów Debiana GNU/Linux dla Rasberry Pi. Istnieją jednak nieoficjalne gotowe do uruchomienia obrazy (bez obrazów instalatora) z Debian GNU/Linux dla Raspberry Pi, stworzone przez tych samych programistów, którzy stoją za oficjalnymi (ale „niewolnymi”) pakietami oprogramowania dla Raspberry Pi w Debianie GNU/ Linuksa [16].

Po pierwsze, zdecydujesz między codziennie budowanymi obrazami opartymi na najnowszych pakietach w Debian GNU/Linux 10 Buster (aktualne stabilne wydanie w momencie pisania tego artykułu) lub „przetestowanymi” obrazami, które są gwarantowane do uruchomienia. W porównaniu do Raspberry Pi OS, który oferuje obrazy współpracujące ze wszystkimi płytami Raspberry Pi, przy tej dystrybucji musisz wybrać, która płytka Raspberry Pi będzie zawierała obraz. Obrazy systemów operacyjnych Raspberry Pi 1 i Raspberry Pi 0 (nie 0W) są mniej więcej takie same, ponieważ używają mniej więcej tego samego procesora i nie mają komponentów Wi-Fi. W zależności od tego otrzymujesz również różne architektury systemu operacyjnego; mianowicie „armel” dla Raspberry Pi 1, 0 i 0W; oryginalne „armhf” dla Raspberry Pi 2; i „arm64” dla Raspberry Pi 3 i 4.

Wspierane urządzenia

Jeśli chodzi o obsługiwane platformy i urządzenia, te trzy projekty idą w nieco innych kierunkach. W przypadku Armbian informacje o urządzeniach dla każdego obsługiwanego SBC można znaleźć na stronie Armbian. Towarzyszy temu lista przetestowanego sprzętu innych firm, aby upewnić się, że wszystkie komponenty sprzętowe dobrze ze sobą współpracują. Ogólnie rzecz biorąc, Armbian obsługuje kilka różnych SBC ARM, ale nie obsługuje rodziny SBC Raspberry Pi.

W przypadku Raspberry Pi OS informacje o urządzeniu dla każdej wersji Raspberry Pi są dostępne online na stronie Raspberry Pi Pi. I oczywiście Raspberry Pi OS zapewnia obsługę wszystkich urządzeń Raspberry Pi.

W przypadku systemu Debian GNU/Linux informacje są zorganizowane na wiki, posortowanej według architektury systemu operacyjnego, ze specjalnymi sekcjami zawierającymi bardziej szczegółowe informacje. Debian obecnie oficjalnie obsługuje dziewięć architektur systemu operacyjnego (z czego trzy przeznaczone są dla urządzeń ARM). Debian buduje również swoje pakiety i obrazy instalatora dla 13 kolejnych architektur systemu operacyjnego, które nie są oficjalnie wspierane, pod nazwą „Porty Debiana” [21].

Rozwój

Ponadto metody opracowywania każdej z trzech dystrybucji Linuksa znacznie się różnią. Armbian i Debian GNU/Linux to projekty społecznościowe. W przypadku Armbian odpowiednia strona projektu GitHub jest kluczowa. Debian GNU/Linux używa własnej rozproszonej infrastruktury, która pozwala na rozwój dystrybucji Linuksa z całego świata.

Tymczasem Raspberry Pi OS jest utrzymywany przez organizację non-profit Raspberry Pi Foundation jako projekt wewnętrzny. Wkład do Fundacji Raspberry Pi można wnosić za pośrednictwem Forum Raspberry Pi [20]. Projekt Raspbian jest w dużej mierze rekompilacją pakietów Debiana stworzonych dla Raspberry Pi i nie wydaje się mieć dużej własnej społeczności. Nieaktualna witryna Raspbian [16] często odsyła użytkowników do stron internetowych Debian GNU/Linux lub Raspberry Pi Foundation.

Koncesjonowanie

Armbian jest licencjonowany na licencji GPL2, podczas gdy zarówno Raspberry Pi OS, jak i Debian GNU/Linux używają kombinacji licencji, w tym GPL i innych. Obraz Raspberry Pi OS „z zalecanym oprogramowaniem” zawiera kilka „bezpłatnych” komercyjnych pakietów oprogramowania, z których większość to ograniczone wersje demonstracyjne. Planem tych darmowych pakietów jest przyciągnięcie użytkowników, aby kupili to oprogramowanie dla swoich innych komputerów software.

Ponadto niektóre bloby oprogramowania układowego potrzebne dla Raspberry Pi i innych SBC ARM są dostępne tylko jako „tylko binarne” i.mi., bez kodu źródłowego. W świecie oprogramowania te pakiety oprogramowania są uważane za „niewolne”.Wspomniane wcześniej nieoficjalne obrazy Debiana dla Raspberry Pi zawierają „niewolne” repozytorium Debiana, domyślnie włączone, ponieważ zawiera pakiet oprogramowania „raspi-firmware”.

Pakiety oprogramowania i konfiguracja

Armbian opisuje siebie jako „lekką dystrybucję Linuksa opartą na Debianie lub Ubuntu, specjalizującą się w płytach programistycznych ARMARM.” Jest dostarczany jako gotowy do uruchomienia obraz zoptymalizowany pod kątem urządzeń pamięci flash, takich jak NAND, SATA, eMMC i USB. Zarówno usługi SSH, jak i DHCP są aktywowane od samego początku. Karta bezprzewodowa obsługuje DHCP (jeśli jest), ale ta funkcja musi być włączona przez użytkownika. Pozwala to na łatwą konfigurację połączenia tego systemu z routerem lub utworzenie indywidualnego punktu dostępowego. XFCE jest używany jako środowisko pulpitu [18].

Aby zwiększyć szybkość wykonywania kodu i danych oraz zminimalizować operacje we/wy, przeniesiono kilka funkcji, aby działały jak najwięcej z pamięci. Na przykład usługa log2ram przechowuje pliki logów w pamięci i zapisuje je na dysku codziennie i po wyłączeniu [13]. Pamięć podręczna dyskowa jest przechowywana w pamięci przez dziesięć minut za pomocą opcji „commit=600” w konfiguracji katalogu w pliku /etc/fstab [14].

Jak wcześniej wspomniano, system operacyjny Raspberry Pi jest skierowany do różnych modeli Raspberry Pi, które zaczęły się od dość ograniczonych komponentów sprzętowych. Aby poradzić sobie z tymi ograniczeniami jako środowisko pulpitu, domyślna konfiguracja uruchamia zmodyfikowany pulpit LXDE o nazwie PIXEL (Pi Improved X-windows Environment Lightweight), który jest również dostępny w Raspberry Pi Foundation dla komputerów z systemem Linux z procesorami Intel.

Domyślnie istnieje użytkownik o nazwie „pi” z hasłem „raspberry”, a usługa SSH jest dla tego użytkownika wyłączona. Możesz włączyć go dla pojedynczego rozruchu, edytując konfigurację pliku.txt na pierwszej partycji. Zdecydowanie zaleca się zmianę hasła natychmiast po pierwszym logowaniu. Tylko wtedy możesz na stałe włączyć usługę SSH, aby uniknąć dobrze znanych haseł domyślnych dostępnych przez SSH.

Nieoficjalne obrazy Raspberry Pi Debiana są również dostarczane z siecią włączoną domyślnie przez DHCP, ale Wi-Fi nie jest wstępnie skonfigurowane, jak to piszę. Kolejną różnicą w stosunku do obrazów Raspberry Pi OS jest to, że nie ma normalnego użytkownika, tylko użytkownik root bez hasła i wyłączone logowanie root przez SSH. Ustawienie wcześniej hasła roota lub klucza publicznego SSH do logowania root jest obsługiwane przez edycję „sysconf.txt” na pierwszej partycji. Te ustawienia są usuwane po zastosowaniu ich w uruchomionym systemie, aby uniknąć wycieku hasła w postaci zwykłego tekstu.

Obecnie na etapie planowania jest możliwość konfiguracji dostępu do sieci Wi-Fi. Przyszłe wersje obrazów Raspberry Pi OS będą wyposażone w tę funkcję.

Wniosek

Społeczność programistów od wielu lat bezbłędnie używa Debiana GNU/Linuksa i Armbiana w środowiskach podobnych do produkcyjnych; na przykład CubieTruck jako platforma do współpracy mobilnej („chmura mobilna”). Urządzenia z Raspberry Pi OS były używane w fazie eksperymentalnej i też byliśmy z nich bardzo zadowoleni. To wielka przyjemność mieć dostęp do tak małych, niezawodnych, niedrogich i wydajnych maszyn. Chcemy mieć więcej czasu na ich dokładniejsze poznanie.

Linki i referencje

[1] Projekt Debian GNU/Linux, https://www.debian.organizacja/
[2] Projekt Armbian, https://www.armbiani.pl/
[3] ARM, Wikipedia, https://en.Wikipedia.org/wiki/architektura_ARM
[4] ARM7, Wikipedia, https://en.Wikipedia.org/wiki/ARM7
[5] Orange Pi, http://www.orangepi.organizacja/
[6] Cubieboard, http://cubieboard.organizacja/
[7] Tinkerboard, https://www.asus.com/pl/Komputer-jednopłytkowy/Tinker-Board/
[8] Raspberry Pi OS, https://www.malinowypi.org/oprogramowanie/systemy-operacyjne/
[9] Mikrotik, https://mikrotik.pl/
[10] Frank Hofmann: Zwergenaufstand. Das Cubietruck im Alltagstest, RaspberryPi Geek 04/2016, https://www.malina-pi-geek.de/ausgaben/rpg/2016/04/das-cubietruck-im-alltagstest/
[11] Silniki PC, https://www.Silniki.cz/
[12] Kubański, http://cubian.organizacja/
[13] Log2Ram, https://github.com/azlux/log2ram
[14] Zalety/wady zwiększania „commit” w fstab, https://unix.wymiana stosu.com/questions/155784/advantages-disadvantages-of-increasing-commit-in-fstab
[15] Projekt Raspbian, https://www.raspbski.organizacja/
[16] Nieoficjalne obrazy Debiana dla rodziny Raspberry Pi SBC, https://raspi.debian.netto/
[17] Fundacja RaspberryPi, https://www.malinowypi.org/o/
[18] XFCE, https://xfce.organizacja/
[19] „armhf” na Wikipedii, https://en.Wikipedia.org/wiki/architektura_ARM#VFP
[20] Forum RaspberryPi, https://www.malinowypi.org/fora/
[21] Porty Debiana, https://www.porty.debian.organizacja/

O Autorach

Frank Hofmann pracuje w drodze - najlepiej z Berlina (Niemcy), Genewy (Szwajcaria) i Kapsztadu (RPA) - jako programista, trener i autor magazynów takich jak Linux-User i Linux Magazine.

Axel Beckert pracuje jako administrator systemu Linux i specjalista ds. bezpieczeństwa sieci z centralnymi usługami IT ETH Zurich. Jest także wolontariuszem w dystrybucji Debian GNU/Linux, Linux User Group Switzerland (LUGS), audycji radiowej i podcastu Hackerfunk oraz różnych projektach open-source.

Hofmann i Beckert są również autorami książki o zarządzaniu pakietami Debiana

(http://www.dpmb.organizacja).

Gry Jak stworzyć grę na Linuksie
Jak stworzyć grę na Linuksie
Dziesięć lat temu niewielu użytkowników Linuksa przewidywało, że ich ulubiony system operacyjny pewnego dnia stanie się popularną platformą do gier dl...
Gry Open Source Ports of Commercial Game Engines
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Gry Najlepsze gry wiersza poleceń dla systemu Linux
Najlepsze gry wiersza poleceń dla systemu Linux
Wiersz poleceń jest nie tylko twoim największym sprzymierzeńcem podczas korzystania z Linuksa - może być również źródłem rozrywki, ponieważ możesz go ...