Raspberry Pi

Vergeleken Raspberry Pi OS vs. Armbiaanse vs. Debian GNU/Linux

Vergeleken Raspberry Pi OS vs. Armbiaanse vs. Debian GNU/Linux
Veel programmeurs hebben misschien dezelfde vraag: Is Armbian gewoon een andere smaak van Debian GNU/Linux, of is het iets heel anders?? Wat zijn de verschillen tussen Raspberry Pi OS, Armbian en Debian?? In dit artikel zullen we de Armbian-, Debian- en Raspberry Pi-besturingssystemen in detail bespreken, inclusief een vergelijking tussen deze verschillende systemen.

Fruitig Ontwaken

In 2012 maakte Raspberry Pi de klasse voor computers met één bord (SBC) populair voor het grote publiek. Destijds werd iedereen met kennis van apparaten zoals het RouterBOARD van Mikrotik [9] of het ALIX Board van PC Engines [11] als exotisch gezien. Vandaag de dag is het dagelijkse bestaan ​​onmogelijk meer voor te stellen zonder deze krachtige minicomputers. Je vindt deze apparaten overal - in wifi-routers, weerstations, domotica-apparaten en meetinstrumenten voor fijnstof. Deze apparaten worden uitgevoerd met speciaal aangepaste Linux- of BSD-distributies, waarvan Armbian en RaspberryPi OS slechts twee vertegenwoordigers zijn van vele.

'Armbian' is een kunstmatig woord dat de woorden 'ARM' combineert voor de corresponderende RISC-processorarchitectuur [3], en de laatste twee lettergrepen, 'bian', van 'Debian.' Dit maakt het heel duidelijk wat Armbian onderscheidt van Debian GNU/Linux; in tegenstelling tot Debian is Armbian gericht en geoptimaliseerd voor de ARM-architectuur.

Bovendien, terwijl de Debian GNU/Linux-distributie een verscheidenheid aan hardware-architecturen ondersteunt, waaronder ARM7 (32 bit) [4] en ARM8, richt de Armbian-distributie zich alleen op een breed scala aan op ARM gebaseerde ontwikkelborden. Van de projectwebsite kun je distributiebeelden downloaden voor de Orange Pi [5], het Cubieboard [6],

en het Asus Tinkerboard [7], naast andere afbeeldingen. Cubian [12], een fork van Debian GNU/Linux voor het Cubieboard, lijkt niet langer te worden onderhouden, aangezien de laatste release dateert uit 2014.

Raspberry Pi OS [8] is het officiële besturingssysteem van de Raspberry Pi Foundation [17] voor hun SBC's. Aanvankelijk heette het Raspbian, voor het Raspbian-project [15] waarop het is gebaseerd. De Raspberry Pi Foundation heeft later nog een pakketrepository met gedeeltelijk gesloten bronsoftware aan hun afbeeldingen toegevoegd. Het Raspbian-project heeft nooit zijn eigen afbeeldingen gepubliceerd, maar in plaats daarvan altijd verwezen naar de afbeeldingen van de Raspberry Pi Foundation Pi. De stichting voegde uiteindelijk hun eigen desktop-smaak en nog veel meer aanpassingen toe, die veel verder reikten dan Raspbian's herbouw en minimale patching van Debian-pakketten. Om duidelijk onderscheid te maken tussen het Raspbian-project en het Raspberry Pi Foundation-derivaat, werd de laatste in 2019 hernoemd naar Raspberry Pi OS.

Vergeleken met Armbian volgen het Raspbian-project en Raspberry Pi OS een tegenovergestelde benadering: deze distributies zijn afhankelijk van tientallen bijdragers om zich te concentreren op een enkel SBC-platform. Gebaseerd op de 32-bits 'armhf'-versie van Debian GNU/Linux, is het bedoeld om op alle versies van het Raspberry Pi-bord te draaien, maar het is niet ontworpen om op andere ARM-SBC's te werken. De hardware van de Raspberry Pi 3 en 4 kan 64-bits besturingssystemen draaien. Ondertussen draait het Raspberry Pi-besturingssysteem altijd 32-bits, met uitzondering van de Linux-kernel, die een 64-bits kernel kan zijn. Sommige pakketten die speciaal voor het Raspberry Pi-besturingssysteem zijn gemaakt, zijn ook beschikbaar voor de Intel-architectuur (32- en 64-bits varianten) en kunnen zelfs worden uitgevoerd op een normale desktop-pc met Debian GNU/Linux.

Voor een beperkte tijd worden er ook (onofficiële) Debian GNU/Linux-images aangeboden voor de Raspberry Pi-familie van SBC's [16]. Het belangrijkste verschil met het Raspberry Pi-besturingssysteem is dat de afbeeldingen voor die Raspberry Pi-systemen, die een 64-bits besturingssysteem kunnen draaien (Raspberry Pi 3 en 4), ook een 64-bits besturingssysteem bevatten ('arm64' in Debian); terwijl de andere afbeeldingen de 32-bits 'armhf' (Raspberry Pi 2) of 'armel' (Raspberry Pi 1 en Zero) architecturen uitvoeren. De laatste twee verschillen van de 'armhf'-pakketten van Raspbian en Raspberry Pi OS. Historisch gezien besloten verschillende distributies, waaronder Debian GNU/Linux en Fedora, over een minimale set CPU-instructies [19] die nodig waren voor de 'armhf'-architectuur. Het eerste Raspberry Pi-besturingssysteem werd kort daarna gepubliceerd en ondersteunde op één na alle vereiste CPU-instructies.

Er waren dus twee opties: ofwel 1) gebruik de veel langzamere maar niet geoptimaliseerde 'armel'-architectuur, zoals Debian GNU/Linux nog steeds doet voor Raspberry Pi 1 en 0, of 2) herdefinieer de 'armhf'-architectuur. Debian GNU/Linux wilde de tweede optie niet doen, omdat deze optie zou afwijken van wat al was besloten en geïmplementeerd. Dit was het moment waarop het Raspbian-project werd geboren: de Debian-ontwikkelaar Peter Green (ook bekend door de tag plugwash in IRC) hercompileerde alle 'armhf' Debian-pakketten voor Raspberry Pi 1-CPU's (toen bestond er alleen Raspberry Pi 1) met de enkele CPU-instructie ontbreekt. Dit is ook de reden waarom je Debian's 'armhf' en Raspbian's 'armhf'-releases niet kunt mixen.

Afbeeldingsgrootte

De installatie-afbeeldingen die door de drie projecten worden aangeboden, zijn behoorlijk verschillend. Armbian vereist dat u eerst een categorie selecteert (zoals Algemeen, IOT, NAS, Netwerken of Desktop) en de SBC. Vervolgens kiest u de bijbehorende afbeelding die wordt aangeboden met de 4.9 of 5.9 Linux-kernel voor oldstable (vorige release), stable (huidige release) en testen (aanstaande release). Het beeldformaat ligt tussen de 270 en 600 M. Elk afbeeldingsbestand kan worden opgehaald als een directe download of via BitTorrent van de projectwebsite. Het bijwerken van een bestaande Armbian-installatie wordt gedaan met behulp van dezelfde instructies als die worden gebruikt voor het onderhouden van Debian GNU/Linux.

Daarentegen zijn de opties voor Raspberry Pi OS wat beperkter. Raspberry Pi vereist dat je kiest tussen OS Lite, OS met desktop en OS met desktop en aanbevolen software. Alle afbeeldingen zijn uitgerust met de 32-bits versie van een 5.4 Linux-kernel. Het beeldformaat varieert van 440 M tot 3 G. Het downloaden van de afbeelding kan rechtstreeks worden gedaan, als een torrent-gegevensstroom, of via de Raspberry Pi Imager, een op GUI gebaseerde installatietool die beschikbaar is voor Windows, macOS en Ubuntu. Net als bij Armbian wordt het bijwerken van een bestaande versie van Raspberry Pi gedaan met behulp van dezelfde instructies als die worden gebruikt voor het onderhouden van Debian GNU/Linux.

Ten slotte biedt Debian GNU/Linux voor de meeste apparaten, inclusief de meeste ARM-apparaten, een verscheidenheid aan kant-en-klare installatiekopieën, waaronder een basisconfiguratie, een kleine afbeelding voor netwerkgebaseerde installatie, verschillende desktopvarianten die op één cd of dvd passen, live-cd's en zelfs een set volledige cd/dvd-afbeeldingen. Hoewel deze images geen kant-en-klare images zijn, bevatten ze het Debian-installatieprogramma, een minimaal besturingssysteem dat uitsluitend bedoeld is om de installatie van het besturingssysteem uit te voeren. De live-images die rechtstreeks vanuit een alleen-lezen installatie worden uitgevoerd, bevatten ook het Debian-installatieprogramma.

Het beeldformaat ligt tussen 250 M en 3 G. Een afbeelding downloaden is mogelijk als directe download of via BitTorrent. De reguliere Debian-pakketcommando's worden gebruikt om een ​​bestaande installatie bij te werken.

Dit is niet het geval voor het Raspberry Pi-besturingssysteem. In feite zijn er geen officiële Debian GNU/Linux-images voor Rasberry Pi. Er zijn echter niet-officiële kant-en-klare afbeeldingen (geen installatiekopieën) met Debian GNU/Linux voor Raspberry Pi, gemaakt door dezelfde ontwikkelaars achter de officiële (maar "niet-gratis") Raspberry Pi-firmwarepakketten in Debian GNU/ Linux [16].

Eerst kiest u tussen dagelijks gebouwde afbeeldingen op basis van de meest recente pakketten in Debian GNU/Linux 10 Buster (de huidige stabiele release op het moment van schrijven van dit artikel) of "geteste" afbeeldingen die gegarandeerd werken. In vergelijking met het Raspberry Pi-besturingssysteem, dat afbeeldingen biedt die op alle Raspberry Pi-borden werken, moet je met deze distributie kiezen welk Raspberry Pi-bord de afbeelding zal bevatten. De afbeeldingen voor de besturingssystemen Raspberry Pi 1 en Raspberry Pi 0 (niet 0W) zijn ongeveer hetzelfde, omdat ze min of meer dezelfde CPU gebruiken en geen wifi-componenten hebben. Afhankelijk daarvan krijg je ook verschillende OS-architecturen; namelijk 'armel' voor Raspberry Pi 1, 0 en 0W; de originele 'armhf' voor Raspberry Pi 2; en 'arm64' voor Raspberry Pi 3 en 4.

Ondersteunde apparaten

Wat betreft ondersteunde platforms en apparaten, gaan de drie projecten in iets verschillende richtingen. Voor Armbian is de apparaatinformatie voor elke ondersteunde SBC te vinden op de Armbian-website. Dit gaat vergezeld van een lijst met geteste hardware van derden om ervoor te zorgen dat alle hardwarecomponenten goed samenwerken. Over het algemeen ondersteunt Armbian verschillende ARM SBC's, maar het ondersteunt niet de Raspberry Pi-familie van SBC's.

Voor Raspberry Pi OS is apparaatinformatie voor elke Raspberry Pi-versie online beschikbaar op de Raspberry Pi-website. En natuurlijk biedt Raspberry Pi OS ondersteuning voor alle Raspberry Pi-apparaten.

Voor Debian GNU/Linux is de informatie georganiseerd in een wiki, gesorteerd op OS-architectuur, met gespecialiseerde secties voor meer specifieke informatie. Debian ondersteunt momenteel officieel negen OS-architecturen (waarvan drie voor ARM-apparaten). Debian bouwt ook zijn pakketten en installatiekopieën voor 13 andere OS-architecturen die niet officieel worden ondersteund, die draaien onder het label 'Debian Ports' [21].

Ontwikkeling

Bovendien verschillen de methoden waarmee elk van de drie Linux-distributies wordt ontwikkeld aanzienlijk. Armbian en Debian GNU/Linux zijn op de gemeenschap gebaseerde projecten. Voor Armbian is de bijbehorende GitHub-projectpagina de sleutel. Debian GNU/Linux gebruikt zijn eigen gedistribueerde infrastructuur die de ontwikkeling van de Linux-distributie van over de hele wereld mogelijk maakt.

Ondertussen wordt Raspberry Pi OS onderhouden door de non-profit Raspberry Pi Foundation als een intern project. Bijdragen aan de Raspberry Pi Foundation kan via het Raspberry Pi Forum [20]. Het Raspbian-project is grotendeels een hercompilatie van de Debian-pakketten die voor Raspberry Pi zijn gemaakt en lijkt geen grote eigen gemeenschap te hebben. De verouderde Raspbian-website [16] verwijst gebruikers vaak naar een van de Debian GNU/Linux- of Raspberry Pi Foundation-websites.

Licenties

Armbian is gelicentieerd onder GPL2, terwijl zowel Raspberry Pi OS als Debian GNU/Linux een mix van licenties gebruiken, waaronder GPL en andere. De afbeelding van het Raspberry Pi OS "met aanbevolen software" bevat verschillende "gratis te gebruiken" commerciële softwarepakketten, waarvan de meeste beperkte demoversies zijn. Het plan van deze gratis pakketaanbiedingen is om gebruikers te haken zodat ze die software voor hun andere computers kopen.

Ook zijn sommige firmware-blobs die nodig zijn voor Raspberry Pi en andere ARM SBC's alleen beschikbaar als "alleen binair", i.e., zonder broncode. In de softwarewereld worden deze softwarepakketten als “niet-vrij” beschouwd.De eerder genoemde onofficiële Debian-images voor Raspberry Pi bevatten Debian's "niet-gratis" repository, standaard ingeschakeld omdat het het 'raspi-firmware'-softwarepakket bevat.

Softwarepakketten en setup

Armbian beschrijft zichzelf als een "lichtgewicht op Debian of Ubuntu gebaseerde Linux-distributie gespecialiseerd voor ARM-ontwikkelborden".Het wordt geleverd als een kant-en-klare afbeelding die is geoptimaliseerd voor geheugenflash-apparaten, zoals NAND, SATA, eMMC en USB. Zowel SSH- als DHCP-services worden vanaf het begin geactiveerd. Een draadloze adapter ondersteunt DHCP (indien aanwezig), maar deze functie moet worden ingeschakeld door de gebruiker. Dit zorgt voor een eenvoudige installatie om dit systeem aan te sluiten op uw router of om een ​​individueel toegangspunt te creëren. XFCE wordt gebruikt als bureaubladomgeving [18].

Om de uitvoeringssnelheid voor code en gegevens te verhogen en I/O-bewerkingen te minimaliseren, zijn verschillende functionaliteiten overgebracht om zoveel mogelijk vanuit het geheugen te werken. De log2ram-service houdt bijvoorbeeld logbestanden in het geheugen en slaat ze dagelijks en bij afsluiten op de schijf op [13]. Schijfcaches worden tien minuten in het geheugen bewaard met behulp van de optie “commit=600” in de directoryconfiguratie in het bestand /etc/fstab [14].

Zoals eerder opgemerkt, richt het Raspberry Pi-besturingssysteem zich op de verschillende Raspberry Pi-modellen, die begonnen met vrij beperkte hardwarecomponenten. Om met deze beperkingen als desktopomgeving om te gaan, start de standaardconfiguratie een aangepaste LXDE-desktop met de naam PIXEL (Pi Improved X-windows Environment Lightweight), die ook verkrijgbaar is bij de Raspberry Pi Foundation voor op Intel gebaseerde Linux-pc's.

Standaard bestaat er een gebruiker met de naam "pi" met het wachtwoord "raspberry" en de SSH-service is uitgeschakeld voor deze gebruiker. U kunt het inschakelen voor een enkele keer opstarten door de bestandsconfiguratie te bewerken.txt op de eerste partitie. Het wordt sterk aangeraden om het wachtwoord onmiddellijk na de eerste login te wijzigen. Alleen dan kunt u de SSH-service permanent inschakelen om bekende standaardwachtwoorden die via SSH toegankelijk zijn te vermijden.

De niet-officiële Raspberry Pi-afbeeldingen van Debian worden ook bekabeld geleverd met het netwerk standaard ingeschakeld via DHCP, maar de wifi is op het moment van schrijven niet vooraf geconfigureerd. Een ander verschil met Raspberry Pi OS-afbeeldingen is dat er geen normale gebruiker is, alleen een rootgebruiker zonder wachtwoord en de SSH-rootlogin uitgeschakeld. Het vooraf instellen van het root-wachtwoord of een openbare SSH-sleutel voor root-aanmelding wordt ondersteund door "sysconf" te bewerken.txt" op de eerste partitie. Deze instellingen worden gewist nadat ze zijn toegepast op het opgestarte systeem om lekkage van het wachtwoord in platte tekst te voorkomen.

Momenteel is de optie om de toegang tot een Wi-Fi-netwerk te configureren in de planningsfase. Toekomstige versies van Raspberry Pi OS-afbeeldingen zullen met deze functie worden uitgerust.

Conclusie

De programmeergemeenschap gebruikt Debian GNU/Linux en Armbian al vele jaren zonder mankeren in productie-achtige omgevingen; bijvoorbeeld een CubieTruck als mobiel samenwerkingsplatform (“mobiele cloud”). Apparaten met Raspberry Pi OS zijn in experimentele stadia gebruikt en we waren er ook erg blij mee. Het is een groot genoegen om toegang te hebben tot zulke kleine, betrouwbare, betaalbare en krachtige machines. We willen meer tijd hebben om ze nog gedetailleerder te verkennen.

Links en referenties

[1] Het Debian GNU/Linux-project, https://www.debian.org/
[2] Het Armbian-project, https://www.armbiaan.com/
[3] ARM, Wikipedia, https://en.wikipedia.org/wiki/ARM_architecture
[4] ARM7, Wikipedia, https://en.wikipedia.org/wiki/ARM7
[5] Oranje Pi, http://www.orangepi.org/
[6] Cubieboard, http://cubieboard.org/
[7] Tinkerboard, https://www.asus.com/us/Enkel-Board-Computer/Tinker-Board/
[8] Raspberry Pi-besturingssysteem, https://www.frambozenpi.org/software/besturingssystemen/
[9] Mikrotik, https://mikrotik.com/
[10] Frank Hofmann: Zwergenaufstand. Das Cubietruck im Alltagstest, RaspberryPi Geek 04/2016, https://www.framboos-pi-geek.de/ausgaben/rpg/2016/04/das-cubietruck-im-alltagstest/
[11] PC-engines, https://www.pcengines.ch/
[12] Cubaans, http://cubian.org/
[13] Log2Ram, https://github.com/azlux/log2ram
[14] Voordelen/nadelen van het vergroten van "commit" in fstab, https://unix.stapeluitwisseling.com/questions/155784/advantages-nadelen-of-increasing-commit-in-fstab
[15] Raspbian-project, https://www.rasbisch.org/
[16] Niet-officiële Debian-afbeeldingen voor de Raspberry Pi SBC-familie, https://raspi.debian.netto/
[17] Stichting RaspberryPi, https://www.frambozenpi.org/over/
[18] XFCE, https://xfce.org/
[19] “armhf” op Wikipedia, https://en.wikipedia.org/wiki/ARM_architecture#VFP
[20] RaspberryPi-forum, https://www.frambozenpi.org/forums/
[21] Debian-poorten, https://www.poorten.debian.org/

Over de Auteurs

Frank Hofmann werkt onderweg - bij voorkeur vanuit Berlijn (Duitsland), Genève (Zwitserland) en Kaapstad (Zuid-Afrika) - als ontwikkelaar, trainer en auteur voor tijdschriften als Linux-User en Linux Magazine.

Axel Beckert werkt als Linux-systeembeheerder en specialist voor netwerkbeveiliging bij de centrale IT-services van ETH Zürich. Hij is ook vrijwilliger bij de Debian GNU/Linux-distributie, Linux User Group Switzerland (LUGS), Hackerfunk-radioshow en podcast, en verschillende open-sourceprojecten.

Hofmann en Beckert hebben ook een boek over pakketbeheer van Debian geschreven

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

OpenTTD-zelfstudie
OpenTTD is een van de meest populaire simulatiegames voor bedrijven die er zijn. In dit spel moet je een geweldig transportbedrijf creëren. U begint e...
SuperTuxKart voor Linux
SuperTuxKart is een geweldige titel die is ontworpen om je de Mario Kart-ervaring gratis te bieden op je Linux-systeem. Het is behoorlijk uitdagend en...
Strijd om Wesnoth Zelfstudie
The Battle for Wesnoth is een van de meest populaire open source strategiespellen die je op dit moment kunt spelen. Dit spel is niet alleen al heel la...