Ciao ragazzi!
Bentornati in un nuovo video della serie Esperimenti
in compagnia del Raspberry Pi 4 model B.
Nei giorni scorsi la fondazione inglese Raspberry
Pi ha rilasciato un nuovo firmware beta per
il Pi 4 che introduce una nuova e molto attesa
funzionalità: il boot da USB.
Grazie a questa novità sarà possibile avviare
il Pi 4 non solo da microSD ma anche direttamente
da un HDD o una pendrive oppure un SSD esterno
collegato ad una delle porte USB di cui è
dotato il single board computer.
Ma facciamo un piccolo passo indietro.
In questo video parleremo di 3 funzionalità
legate al Pi 4 che, secondo me, sono davvero
interessanti; e due di queste funzioni riguardano
proprio i firmware.
Non so se lo sapevate ma nel Raspberry Pi
4 le cose sono cambiate rispetto ai modelli
precedenti: il Pi 4, infatti, utilizza una
SPI-attached EEPROM che contiene tutto il
codice necessario per far avviare il single
board computer.
Ciò differisce dal passato perché, nei vecchi
single board computer, era presente un file
binario, chiamato bootcode, che conteneva
lui tutti i codici per il boot.
Tale file era immagazzinato sull'immagine
del sistema operativo che andava di volta
in volta scritta sulla microSD, ed era presente
all'interno della partizione boot.
Questo cambiamento da file a EEPROM dedicata
consente alla fondazione inglese di poter
rilasciare aggiornamenti firmware separati
da quelli per il sistema operativo Raspbian OS
e, anzi, il fatto che il firmware ora si
trovi in una memoria EEPROM a parte (e quindi
non più all'interno della partizione boot
della microSD) lo rende completamente slegato
dal sistema operativo stesso in uso.
Il che è fantastico!
Ora, il firmware può essere aggioranto in
due modi: o in automatico tramite gli update
del sistema operativo quando e se integrano
anche il nuovo firmware; oppure manualmente
tramite un tool ad-hoc che tra poco vedremo.
Aggiornare il firmware significa poter fixare
bug oppure aggiungere feature che all'inizio
non erano previste.
E due delle cose che vedremo in questo video
appartengono proprio a tali categorie.
Come abbiamo già valutato in altri video
dedicati al Pi 4, beh, l'ultimo single board
computer della fondazione inglese scaldicchia
abbastanza.
Non è strano vederlo in accoppiata con sistemi
di raffreddamento di ogni natura (da passivi
ad attivi), e molti starter kit come quello
in mio possesso ne forniscono uno o addirittura
due in dotazione.
Raspberry Pi, però, non si è data vinta
ed ha lavorato per cercare di abbassare -seppur
di qualche grado- la temperatura operativa
del Pi 4.
E c'è riuscita: un nuovo firmware contenente
la fix (oltre alla possibilità di avviare
il single board computer da ethernet) è stato
rilasciato qualche tempo fa, e può essere
installato con una semplicissima procedura.
Occorre partire da Raspbian OS e va bene una
qualsiasi versione (lite, full, etc) purché
basata sul ramo Buster (insomma, una qualsiasi
di quelle scaricabili dal sito ufficiale raspberrypi.org).
Una volta scritta su microSD e avviato il
Pi 4, bisogna assicurarsi di avere il sistema
operativo aggiornato all'ultima versione.
Poichè lo specifico firmware che aiuta a
ridurre la temperatura operativa del Pi 4
è stato già rilasciato come stabile, la
semplice procedura di upgrade dell'OS
(sudo apt update, sudo apt full-upgrade)
dovrebbe garantirne l'installazione.
In alternativa, è sempre possibile assicurarsi
di avere l'ultimo firmware (o, in caso negativo,
forzarne l'installazione) utilizzando
un apposito tool.
Con il comando sudo apt install rpi-eeprom
si potrà installare l'utility per interagire
con l'eeprom del Pi 4.
Una volta installato il pacchetto, basterà
lanciare il comando sudo rpi-eeprom-update
e, se non aveste già l'ultimo firmware attivo,
esso verrà automaticamente registrato.
Al successivo riavvio del sistema, lanciando
lo stesso comando, potrete verificarne l'installazione:
alla voce "BOOTLOADER" dovrà comparire la
stringa "up-to-date", e le voci CURRENT e
LATEST dovranno coincidere.
Perfetto.
Ricapitolando: se avete Raspbian OS Buster
già aggiornato, oppure se avete eseguito
il comando rpi-eeprom-update (quindi aggiornando
manualmente il firmware all'ultima release)
potrete godervi qualche grado in meno durante
l'uso del Pi 4!
OK. Ma la fondazione inglese, prima di rilasciare
aggiornamenti firmware stabili, né pubblica
anche di nuovi (in versione beta per testare
le nuove funzionalità in arrivo).
Una di queste funzionalità più attese è la
possibilità di avviare il Pi 4 tramite porta USB.
Me lo avete chiesto in molti, e posso confermarvi
che, installando l'ultimo firmware beta, sarà
finalmente possibile eseguire sul Pi 4 i sistemi
operativi installati su memorie USB esterne.
Ci tengo a precisare che l'operazione di installazione
di un firmware beta non è banale come nel
caso precedente, non è una cosa automatica
ma richiede un po' di smanettamento.
Niente di impossibile -ovviamente- ma, visto
che stiamo parlando di firmware beta e quant'altro,
c'è il rischio di fare casini.
Quindi occhio!
Il primo passo è assicurarsi di avere il
sistema operativo aggiornato tramite i classici
sudo apt update e sudo apt full-upgrade.
Dopodiché occore eseguire il comando sudo
rpi-update così da switchare sull'ultimo
kernel tree con relative librerie e passare
così all'ultimo firmware disponibile compatibile.
A questo punto occore modificare il ramo del
bootloader desiderato passando da "critical"
a "beta" così da poter richiedere l'accesso
ai firmware non ancora rilasciati.
Per fare ciò basta modificare il file presente
in /etc/default/rpi-eeprom-update e sostituire
la parola "critical" con "beta".
Salvate le modifiche, va forzata la scrittura
del firmware beta all'interno della memoria
EEPROM tramite il comando sudo rpi-eeprom-update
-d -f /lib/firmware/raspberrypi/bootloader/beta
/pieeprom- l'ultima data disponibile,
che al momento è 2020-05-15.bin
Una volta lanciato il comando, il firmware
verrà scritto e sarà eseguito al successivo riavvio.
Prima di riavviare, però, lanciate i comandi
vcgencmd boolader_version e
vcgencmd boolader_config per verificare
la versione e la configurazione attuali presenti.
Prima dell'update, come potete vedere, io
avevo il firmware del 16 aprile 2020, con
4 parametri di configurazione attivi.
A questo punto, dopo un veloce riavvio dovreste
trovare la nuova versione del 15 maggio 2020
(se è quella che avete appunto installato
tramite il comando rpi-eeprom-update) e nella
configurazione avere diversi nuovi parametri.
Tra cui quello che più ci interessa: BOOT_ORDER.
Il valore assegnato a questo parametro deve
contenere 0xf41, dove il 4 sta per avvio da
USB ed 1 per avvio da microSD.
Grazie a questo parametro, al boot, il Pi
4 proverà a cercare un OS su memoria USB
esterna e se non la troverà passerà alla
microSD come fallback.
Per fare una prova veloce, se avete un lettore
microSD esterno, potete inserirci dentro la
microSD con Raspbian OS, collegare tutto al Pi 4,
accenderlo e vedere che tutto si avvii correttamente.
Perfetto. Ricapitolando: aggiornate Raspbian OS,
switchate all'ultimo kernel tree, attivate il ramo "beta"
per il bootloader, installate l'ultimo firmware
beta disponibile, collegate una memoria esterna
via USB con un OS per Raspberry Pi installato
ed il gioco sarà fatto!
L'ultima funzionalità di cui voglio parlarvi
non è legata espressamente al Pi 4, ma sicuramente
con esso si sposa più che per altri sistemi
o altri single board computer, visto che il
Pi 4 può essere utilizzato -abbastanza agilmente-
a mo' di computer desktop, quindi con monitor,
mouse e tastiera ad esso collegati.
La rottura di scatole di usarlo così, però,
è che dovremo o di volta in volta staccare
mouse e tastiera dal nostro PC per collegarli
al Pi, oppure di averne una coppia apposita
collegata alla board andando ad occupare un
sacco di spazio sulla scrivania se condivisa
con il nostro PC (senza contare l'eventuale
switch di monitor da un input all'altro se
non se ne usano due differenti): insomma tutto
il setup può diventare un po' caotico o scomodo.
Per risolvere il problema ci viene in aiuto
un fantastico tool che va installato sia sul
Pi 4 sia sul nostro PC principale (la cosa
funziona sia su PC fissi che su portatili,
ed il software funziona su Linux, MacOS e
Windows).
Nel mio caso, il mio PC principale è un portatile
con Ubuntu 20.04.
Il tool si chiama Barrier e in descrizione
trovate il link per scaricarlo sui sistemi
non-Linux: su Ubuntu e le altre distro lo
trovate sicuramente disponibile sui repository
oppure sottoforma di snap o flatpak, quindi
installarlo non sarà un problema.
Io ho optato per lo snap su Ubuntu 20.04,
mentre su Raspberry Pi può essere rapidamente
intallato con il classico sudo apt install
barrier.
Una volta terminata l'installazione, al primo
avvio sarà richiesto di configurare il software
per fare da server oppure per agire come client.
Sul PC principale va ovviamente selezionata la voce
Server, sul Raspberry Pi va selezionata la voce Client.
A questo punto sul PC sarà sufficiente aggiungere
tutti i client che si desiderano, e per farlo
trascinate l'apposita icona (raffigurante
un monitor) sopra la griglia, così da posizionarla
dove più desiderate: ad esempio, potete replicare
sulla griglia la disposizione fisica di dove
è disposto il monitor collegato al client
di turno.
Se ad esempio il monitor che avete collegato
al Pi è alla destra di quello collegato al
PC (o al monitor del portatile) allora potreste
posizionare l'iconcina dello schermo collegato
al Pi a destra di quella del PC, oppure a
sinistra, e via discorrendo.
Insomma siete liberi di sistemare il setup
come meglio preferite, e anche di aggiungere
tutti i client che desiderate (se non erro,
Barrier supporta fino a 128 client).
L'unica cosa importante a cui fare attenzione
è che, facendo doppio click sull'apposito
monitor/client aggiunto, il nome dovrà coincidere
con quello del computer, e che ovviamente
non ci siano più computer con uno stesso
nome.
Ad esempio, il nome di default del Raspberry
Pi 4 con Raspbian OS è raspberrypi
(tutto scritto minuscolo e senza spazi).
Completato il setup del server, va avviato
(oppure ricaricato se era già partito).
Quindi ci si può spostare sul Pi 4.
Qui la configurazione è ancora più semplice
perchè sarà sufficiente lasciare il check
sull'opzione Auto Config (o in caso di problemi
inserire a mano l'IP del computer principale),
ed avviare Barrier.
Et voilà!
Ora con il mouse e la tastiera collegati al
PC principale, potrete controllare anche il
Raspberry Pi 4, e vi assicuro che per chi
come me che utilizza tastierine wireless con
mouse e tasti integrati, è una svolta epocale.
Anche chi ha sulla stessa scrivania due monitor,
due mouse e due tastiere oppure che ha dovuto
creare uno spazio ad hoc per gestire PC e
Pi separatamente, potrà gioire con questo
semplice e pratico tool.
Per quanto riguarda le prestazioni, visto
che si passa tramite rete, c'è un leggero
lag che è quasi trascurabile ma, davvero,
almeno per quel che mi riguarda, Barrier mi
ha cambiato la vita...
Voi che ne pensate di questo tool?
Lo proverete?
Fatemi sapere nei commenti e fatemi anche
sapere se siete contenti del boot da USB o
della temperatura più bassa del vostro Pi
4!
Bene, direi che è tutto per questo video.
Mi fermo qui!
Spero che lo abbiate trovato utile!
Per qualsiasi domanda o considerazione vi
aspetto nei commenti, e ci sentiamo presto. Ciao!
