BeagleBone Black è un hardware resistente. Data la sua potenza, potrebbe utilizzare una grande varietà di sistemi operativi, ma occorre scegliere accuratamente cosa installare. A seconda di quanta voglia si ha di sperimentare, si potrebbero scegliere dei pacchetti preintegrati o decidere di compilare il proprio kernel per il dispositivo.
La ragione per cui esistono dei limiti è che il Beaglebone Black è basato su un'architettura ARM, che è differente da quello che normalmente ci si aspetta per gli ambienti di elaborazione ad alta potenza, che nel passato erano basati su x86. Date le alte prestazioni offerte dai microprocessori basati su ARM a bassa potenza, gli stessi stanno riscontrando sempre maggiore interesse da parte degli sviluppatori software, specialmente all'interno del crescente segmento IoT, il che apre le porte a un mondo di possibilità.
Inizialmente, BeagleBone Black era sviluppato con Angstrom Linux come sistema centrale. Angstrom è stato progettato per i sistemi integrati, quindi è molto leggero e in grado di limitare enormemente i propri footprint di memoria. Successivamente, una versione adattata di Debian venne utilizzata come immagine del sistema operativo primario di Beaglebone Black, consentendo l'utilizzo di una grande varietà di pacchetti e software compatibili. Debian è alla base di distribuzioni come Ubuntu e Mint, quindi, in linea generale, le istruzioni su come svolgere determinate operazioni con Ubuntu sono valide anche per Debian, a patto di installare qualunque dipendenza mancante. È fondamentale che pacchetti software e dipendenze siano compatibili con ARMHF, per essere eseguiti in Beaglebone Black. Per utilizzare Debian in BeagleBone Black, è possibile optare per la versione 7, chiamata Wheezy, e per la versione 8, chiamata Jessie. Attualmente, il mio consiglio è di utilizzare l'ultima versione stabile, ovvero Debian 8.3.
Entrambe queste immagini (Debian 8.3 e 7.9) possono essere scritte su una scheda SD. Io consiglio una scheda micro SD classe 10 con almeno 8 Gb di memoria, come la Kingston SDC10/8GBSP. È possibile utilizzare Linux e il comando dd, su Windows si dovrebbe utilizzare l'utility Win32DiskImager, mentre su Mac l'utility XZ.
A volte è utile avere una GUI sulla scheda, anche se è innanzi tutto una piattaforma di elaborazione integrata. In uno dei miei progetti, ho una scheda che funziona come una dashboard autonoma, che visualizza alcune informazioni sull'HDMI su un monitor, utilizzando un convertitore mini-HDMI a HDMI come il PNY C-H-A10-C10-C(https://www.arrow.com/en/products/c-h-a10-c10-c/pny-technologies). Per far funzionare il progetto, ho avuto bisogno di X11 e il modo più veloce per ottenerlo è stato utilizzare il pacchetto LXDE, cioè Lightweight X11 Desktop Environment, che offre tutti componenti necessari per far funzionare una GUI su un hardware con prestazioni grafiche limitate. Il modo più rapido per installare LXDE è utilizzando un comando apt-get, come:
sudo apt-get update
sudo apt-get -y install lxde lxde-core lxde-icon-theme
sudo shutdown -r now
In seguito al riavvio, si dovrebbe visualizzare una schermata di login LXDE e dovrebbero essere state installate alcune utility grafiche.
Oltre a questi pacchetti ufficiali, esistono diverse altre distribuzioni che possono essere eseguite sulla scheda. Io ho provato ed eseguito Ubuntu 14.04, 12.04 e Snappy Core. Tutte queste versioni sono state avviate sulla scheda e si sono dimostrate funzionali. Per i miei progetti, utilizzo Ubuntu 14.04. Snappy Core è una versione interessate da sperimentare, rappresentando la versione di Ubuntu con distribuzioni cloud che supportano le applicazioni Docker. Anche Android 4.2.2 Jelly Bean è stato sviluppato per BeagleBone Black, oltre che per Windows Embedded Compact 7 e 2013
La morale è che esistono davvero tante opzioni per qualunque progetto si voglia realizzare con BeagleBone Black. Alcune sono supportate meglio e altre sono più leggere e consentono di utilizzare maggiormente la scheda.