Rispetto al sistema operativo Raspberry Pi vs. Armanti vs. Debian GNU/Linux

Rispetto al sistema operativo Raspberry Pi vs. Armanti vs. Debian GNU/Linux
Molti programmatori possono avere la stessa domanda: È braccio solo un altro sapore di debian gnu/linux, o è qualcosa di completamente diverso? Quali sono le differenze tra il sistema operativo Raspberry Pi, Armbian e Debian? In questo articolo, discuteremo in dettaglio i sistemi operativi di Armbian, Debian e Raspberry PI, incluso un confronto tra questi diversi sistemi.

Risveglio fruttato

Nel 2012, Raspberry Pi ha reso popolare la classe SBC a bordo (SBC) per il pubblico in generale. All'epoca, chiunque abbia conoscenza di dispositivi come il router bombe di Mikrotik [9] o la scheda Alix dei motori PC [11] era visto come esotico. Oggi è impossibile immaginare l'esistenza quotidiana senza questi potenti minicomputer. Puoi trovare questi dispositivi ovunque: in router WiFi, stazioni meteorologiche, dispositivi di automazione domestica e strumenti di misurazione della polvere fine. Questi dispositivi sono eseguiti con distribuzioni Linux o BSD appositamente adattate, di cui l'uso di armi e Raspberrypi sono solo due rappresentanti di molti.

"Armbian" è una parola artificiale che combina le parole "braccio", per la corrispondente architettura del processore RISC [3] e le ultime due sillabe, "Bian", da "Debian.'Questo rende molto chiaro ciò che distingue l'armeria da Debian GNU/Linux; A differenza di Debian, Armbian è focalizzato e ottimizzato per l'architettura ARM.

Inoltre, mentre la distribuzione di Debian GNU/Linux supporta una varietà di architetture hardware, tra cui ARM7 (32 bit) [4] e ARM8, la distribuzione armbica si concentra solo su una vasta gamma di schede di sviluppo basate su ARM. Dal sito Web del progetto, è possibile scaricare immagini di distribuzione per Orange Pi [5], The Cubieboard [6],

e l'Asus Tinkerboard [7], tra le altre immagini. Cubian [12], una forchetta di Debian GNU/Linux per il Cubieboard, sembra non essere più mantenuto, poiché l'ultima versione risale al 2014.

Raspberry Pi OS [8] è il sistema operativo ufficiale della Raspberry Pi Foundation [17] per i loro SBC. Inizialmente, è stato chiamato Raspbian, per il Raspbian Project [15] su cui si basa. La Raspberry Pi Foundation ha successivamente aggiunto un altro repository di pacchetti con software parzialmente chiuso alle loro immagini. Il progetto Raspbian non ha mai pubblicato le sue immagini, ma invece si è sempre riferito alle immagini della Raspberry Pi Foundation. La fondazione alla fine ha aggiunto il proprio sapore desktop e molte altre personalizzazioni, raggiungendo ben oltre la ricostruzione di Raspbian e il minimo patch di pacchetti Debian. Per distinguere chiaramente tra il progetto Raspbian e il derivato della Fondazione Raspberry Pi, quest'ultimo è stato rinominato nel sistema operativo Raspberry Pi nel 2019.

Rispetto ad Ambian, il progetto Raspbian e il sistema operativo Raspberry Pi seguono un approccio opposto: queste distribuzioni si basano su dozzine di collaboratori per concentrarsi su un'unica piattaforma SBC. Sulla base della versione "ARMHF" a 32 bit di Debian GNU/Linux, è pensato per funzionare su tutte le versioni della scheda Raspberry Pi ma non è progettata per funzionare su nessun altro ARM SBCS. L'hardware Raspberry Pi 3 e 4 può eseguire sistemi operativi a 64 bit. Nel frattempo, il sistema operativo Raspberry Pi funziona sempre a 32 bit, ad eccezione del kernel Linux, che può essere un kernel a 64 bit. Alcuni pacchetti realizzati appositamente per il sistema operativo Raspberry Pi sono disponibili anche per l'architettura Intel (varianti a 32 e 64 bit) e possono persino funzionare su un normale PC desktop che esegue Debian GNU/Linux.

Solo per un tempo limitato, ci sono anche immagini (non ufficiali) di Debian GNU/Linux offerte per la famiglia Raspberry Pi di SBC [16]. La differenza principale per il sistema operativo Raspberry Pi è che le immagini per quei sistemi Raspberry Pi, in grado di eseguire un sistema operativo a 64 bit (Raspberry Pi 3 e 4), contengono anche un sistema operativo a 64 bit ('ARM64' in Debian); Mentre le altre immagini eseguono le architetture "ARMHF" a 32 bit "ARMHF" (Raspberry Pi 2) o "Armel" (Raspberry Pi 1 e Zero). Gli ultimi due differiscono dai pacchetti "ARMHF" forniti da Raspbian e Raspberry Pi OS. Storicamente, diverse distribuzioni, tra cui Debian GNU/Linux e Fedora, hanno deciso con un set minimo di istruzioni della CPU [19] necessarie per l'architettura "ARMHF". Il primo sistema operativo Raspberry Pi è stato pubblicato poco dopo e ha supportato tutte le istruzioni CPU tranne una.

Quindi, c'erano due opzioni: 1) usa l'architettura "armel" molto più lenta ma non ottimizzata, poiché Debian GNU/Linux fa ancora per Raspberry Pi 1 e 0 o 2) ridefinire l'architettura 'ARMHF'. Debian GNU/Linux non voleva fare la seconda opzione, poiché questa opzione si sarebbe discostata da quella che era già stata decisa e implementata. Questo è stato il momento in cui è nato il Raspbian Project: lo sviluppatore Debian Peter Green (noto anche dal tag plugwash in IRC) ha ricompilato tutti i pacchetti "ARMHF" Debian per CPU Raspberry Pi 1 (allora, solo Raspberry Pi 1 esisteva) con il Istruzioni CPU singola mancanti. Questo è anche il motivo per cui non è possibile mescolare le versioni "ARMHF" di Debian e "ARMHF" di Raspbian.

Dimensione dell'immagine

Le immagini di installazione offerte dai tre progetti sono abbastanza diverse. Armbian richiede di selezionare una categoria (come generale, IoT, NAS, networking o desktop) e SBC, prima. Successivamente, sceglierai l'immagine corrispondente offerta con il 4.9 o 5.9 Linux Kernel per OldStable (versione precedente), stabile (versione corrente) e test (versione imminente). La dimensione dell'immagine è compresa tra 270 e 600 m. Ogni file di immagine può essere recuperato come download diretto o tramite BitTorrent dal sito Web del progetto. L'aggiornamento di un'installazione di armi esistente viene eseguito utilizzando le stesse istruzioni utilizzate per mantenere Debian GNU/Linux.

Al contrario, le opzioni per il sistema operativo Raspberry Pi sono un po 'più limitate. Raspberry Pi richiede di scegliere tra sistema operativo, sistema operativo con desktop e sistema operativo con desktop e software consigliato. Tutte le immagini sono dotate della versione a 32 bit di un 5.4 kernel Linux. La dimensione dell'immagine varia da 440 m a 3 g. Il download dell'immagine può essere eseguito direttamente, come un flusso di dati torrent o tramite Raspberry Pi Imager, uno strumento di configurazione basato su GUI disponibile per Windows, MacOS e Ubuntu. Come per Ambian, l'aggiornamento di una versione esistente di Raspberry Pi viene eseguito utilizzando le stesse istruzioni di quelle utilizzate per mantenere Debian GNU/Linux.

Infine, per la maggior parte dei dispositivi, tra cui la maggior parte dei dispositivi ARM, Debian GNU/Linux offre una varietà di immagini di installazione già pronte, tra cui una configurazione di base, una piccola immagine per l'installazione basata sulla rete, diverse varianti desktop che si adattano a un CD o DVD, CD dal vivo e persino una serie di immagini CD/DVD complete. Sebbene queste immagini non siano immagini pronte per gestire. Le immagini in diretta eseguite direttamente da un'installazione di sola lettura contengono anche Debian Installer.

La dimensione dell'immagine è compresa tra 250 m e 3 g. Il download di un'immagine è possibile come download diretto o tramite BitTorrent. I normali comandi di imballaggio Debian vengono utilizzati per aggiornare un'installazione esistente.

Non è così per il sistema operativo Raspberry Pi. In effetti, non ci sono immagini ufficiali di Debian GNU/Linux per Rasberry Pi. Ci sono, tuttavia, immagini non ufficiali pronte a gestire (nessuna immagine di installatore) con Debian GNU/Linux per Raspberry Pi, realizzati dagli stessi sviluppatori dietro i pacchetti di firmware Raspberry PI ufficiali (ma "non liberi") in Debian GNU/ Linux [16].

Innanzitutto, deciderai tra immagini costruzioni quotidiane in base ai pacchetti più attuali di Debian GNU/Linux 10 Buster (l'attuale versione stabile al momento della stesura di questo articolo) o immagini "testate" che sono garantite per funzionare. Rispetto al sistema operativo Raspberry Pi, che offre immagini che funzionano su tutte le schede di Raspberry Pi, con questa distribuzione, devi scegliere quale scheda Raspberry Pi conterrà l'immagine. Le immagini per i sistemi operativi Raspberry Pi 1 e Raspberry Pi (non 0W) sono all'incirca le stesse, in quanto usano più o meno la stessa CPU e non hanno componenti Wi-Fi. A seconda di ciò, ottieni anche diverse architetture del sistema operativo; Vale a dire, "Armel" per Raspberry Pi 1, 0 e 0W; l'originale "ARMHF" per Raspberry Pi 2; e 'arm64' per Raspberry Pi 3 e 4.

Dispositivi supportati

Per quanto riguarda le piattaforme e i dispositivi supportati, i tre progetti vanno in direzioni leggermente diverse. Per ARMBIAN, le informazioni sul dispositivo per ogni SBC supportato sono disponibili sul sito Web armbian. Questo è accompagnato da un elenco di hardware di terze parti testato per garantire che tutti i componenti hardware funzionino bene insieme. Nel complesso, Armbian supporta diversi SBC ARM, ma non supporta la famiglia Raspberry Pi di SBCS.

Per il sistema operativo Raspberry Pi, le informazioni sul dispositivo per ogni versione Raspberry Pi sono disponibili online, sul sito Web Raspberry Pi. E, naturalmente, il sistema operativo Raspberry Pi fornisce supporto per tutti i dispositivi Raspberry Pi.

Per Debian GNU/Linux, le informazioni sono organizzate in una wiki, ordinata dall'architettura OS, con sezioni specializzate per informazioni più specifiche. Debian attualmente supporta nove architetture OS ufficialmente (di cui tre per i dispositivi ARM). Debian crea anche i suoi pacchetti e le immagini di installazione per altre 13 architetture del sistema operativo che non sono ufficialmente supportate, in esecuzione sotto l'etichetta "Debian Ports" [21].

Sviluppo

Inoltre, i metodi con cui sono sviluppate ciascuna delle tre distribuzioni Linux differiscono in modo significativo. Armbian e Debian GNU/Linux sono progetti basati sulla comunità. Per Armbian, la pagina del progetto Github corrispondente è la chiave. Debian GNU/Linux utilizza la propria infrastruttura distribuita che consente lo sviluppo della distribuzione Linux da tutto il mondo.

Nel frattempo, il sistema operativo Raspberry Pi è mantenuto dalla Fondazione Raspberry Pi senza scopo di lucro come progetto interno. I contributi alla Fondazione Raspberry Pi possono essere versati tramite il forum Raspberry Pi [20]. Il progetto Raspbian è in gran parte una ricompilazione dei pacchetti Debian creati per Raspberry Pi e non sembra avere una grande comunità a sé stante. Il sito Web di Raspbian obsoleto [16] fa spesso riferimento agli utenti ai siti Web Debian GNU/Linux o Raspberry Pi Foundation.

Licenze

Armbian è autorizzato ai sensi di GPL2, mentre sia Raspberry Pi OS che Debian GNU/Linux usano un mix di licenze, tra cui GPL e altri. L'immagine del sistema operativo Raspberry Pi "con software consigliato" contiene diversi pacchetti software commerciali "gratuiti", la maggior parte dei quali sono versioni demo limitate. Il piano è di queste offerte di pacchetti gratuiti è quello di agganciare gli utenti in modo da acquistare quel software per gli altri computer.

Inoltre, alcune macchie di firmware necessarie per Raspberry Pi e altri SBC ARM sono disponibili solo come "binario", i.e., senza codice sorgente. Nel mondo del software, questi pacchetti software sono considerati "non liberi."Le immagini Debian non ufficiali precedentemente menzionate per Raspberry Pi contengono il repository" non libero "di Debian, abilitato per impostazione predefinita perché include il pacchetto software" RASPI-Firmware ".

Pacchetti software e configurazione

Armbian si descrive come una "distribuzione Linux a base di Debian o Ubuntu Specializzato per le schede di sviluppo del braccio."Viene fornito come un'immagine pronta ottimizzata per i dispositivi Flash di memoria, come NAND, SATA, EMMC e USB. Entrambi i servizi SSH e DHCP sono attivati ​​fin dall'inizio. Un adattatore wireless supporta DHCP (se presente), ma questa funzione deve essere abilitata dall'utente. Ciò consente una facile configurazione di collegare questo sistema al router o creare un singolo punto di accesso. XFCE è usato come ambiente desktop [18].

Per aumentare la velocità di esecuzione per codice e dati e minimizzare le operazioni di I/O, diverse funzionalità sono state trasferite il più possibile dalla memoria. Ad esempio, il servizio log2ram mantiene i file di registro nella memoria e li salva al disco quotidianamente e durante l'arresto [13]. Le cache del disco vengono mantenute in memoria per dieci minuti utilizzando l'opzione "commit = 600" nella configurazione della directory nel file /etc /fstab [14].

Come notato in precedenza, il sistema operativo Raspberry Pi mira ai diversi modelli Raspberry Pi, che sono iniziati con componenti hardware piuttosto limitati. Per affrontare queste limitazioni come ambiente desktop, la configurazione predefinita avvia un desktop LXDE modificato chiamato Pixel (PI migliorato l'ambiente X-Windows Lightweigh.

Per impostazione predefinita, esiste un utente chiamato "Pi" con la password "Raspberry" e il servizio SSH è disabilitato per questo utente. È possibile abilitarlo per un singolo avvio modificando la configurazione del file.txt sulla prima partizione. Si consiglia vivamente di modificare la password immediatamente dopo il primo accesso. Solo allora è possibile abilitare in modo permanente il servizio SSH per evitare le password predefinite ben note accessibili tramite SSH.

Anche le immagini di Raspberry Pi non ufficiali di Debian sono cablate con la rete abilitata per impostazione predefinita tramite DHCP, ma il Wi-Fi non viene pre-configurato, al momento della scrittura. Un'altra differenza con le immagini del sistema operativo Raspberry Pi è che non esiste un utente normale, solo un utente di root senza password e il login di root SSH disabilitato. L'impostazione della password di root o di una chiave pubblica SSH per l'accesso alla root in anticipo è supportata dalla modifica di “SysConf.txt "sulla prima partizione. Queste impostazioni vengono cancellate dopo che sono state applicate al sistema avviato per evitare la perdita della password di testo normale.

Attualmente, l'opzione per configurare l'accesso a una rete Wi-Fi è nelle fasi di pianificazione. Le versioni future delle immagini del sistema operativo Raspberry Pi saranno dotate di questa funzione.

Conclusione

La comunità di programmazione ha utilizzato Debian GNU/Linux e Armerbian in ambienti simili alla produzione senza fallo per molti anni; Ad esempio, un cubietrock come piattaforma di collaborazione mobile ("mobile cloud"). I dispositivi con il sistema operativo Raspberry Pi sono stati usati nelle fasi sperimentali e anche noi eravamo molto contenti di loro. È un grande piacere avere accesso a macchine così piccole, affidabili, convenienti e potenti. Desideriamo avere più tempo per esplorarli ancora più in dettaglio.

Collegamenti e riferimenti

[1] Il progetto Debian GNU/Linux, https: // www.Debian.org/
[2] The Armbian Project, https: // www.braccio.com/
[3] braccio, wikipedia, https: // en.Wikipedia.org/wiki/arm_architecture
[4] ARM7, Wikipedia, https: // en.Wikipedia.org/wiki/arm7
[5] Orange Pi, http: // www.Orangepi.org/
[6] Cubieboard, http: // Cubieboard.org/
[7] Tinkerboard, https: // www.Asus.com/us/single-board-computer/tinker-board/
[8] Raspberry Pi OS, https: // www.Raspberrypi.Org/Software/Sistemi operativi/
[9] Mikrotik, https: // mikrotik.com/
[10] Frank Hofmann: Zwergenaufstand. Das Cubietruck Im Alltagstest, Raspberrypi Geek 04/2016, https: // www.Raspberry-Pi-Geek.de/ausgaben/rpg/2016/04/das-cubietruck-im-alltagstest/
[11] motori PC, https: // www.Pengines.ch/
[12] Cubian, http: // cubian.org/
[13] log2ram, https: // github.com/azlux/log2ram
[14] Vantaggi/svantaggi dell'aumento del "commit" in fstab, https: // unix.StackExchange.com/Domande/155784/vantaggi-Disadvantages-of-crescente-Commit-in-Fstab
[15] Raspbian Project, https: // www.Raspbian.org/
[16] Immagini debian non ufficiali per la famiglia Raspberry Pi SBC, https: // RASPI.Debian.netto/
[17] Raspberrypi Foundation, https: // www.Raspberrypi.org/circa/
[18] XFCE, https: // xfce.org/
[19] “ARMHF” su Wikipedia, https: // en.Wikipedia.org/wiki/arm_architecture#vfp
[20] Raspberrypi Forum, https: // www.Raspberrypi.org/forum/
[21] Debian Ports, https: // www.porti.Debian.org/

Riguardo agli Autori

Frank Hofmann lavora sulla strada - preferibilmente da Berlino (Germania), Ginevra (Svizzera) e Cape Town (Sudafrica) - come sviluppatore, allenatore e autore per riviste come Linux -User e Linux Magazine.

Axel Beckert lavora come amministratore di sistema Linux e specialista per la sicurezza della rete con i servizi IT centrali di ETH ZURICH. È anche volontario con la distribuzione GNU/Linux Debian, Linux User Group Svizzera (LUGS), HackerFunk Radio Show e Podcast e vari progetti open source.

Hofmann e Beckert hanno anche scritto un libro di gestione dei pacchetti Debian

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