Raspberry PI 4, esattamente come anche la versione precedente, porta ancora con se la comoda funzione di utilizzare un drive SD come unità principale di boot. Comoda si, ma purtroppo suscettibile ai frequenti fail che nel tempo colpiscono sostanzialmente tutte le unità SD sottoposte a continuo lavoro di lettura e soprattutto scrittura. Io stesso ho sperimentato sulla mia pelle il fail di ben 2 unità SD in uso nel mio Raspberry PI 4, e in entrambi i casi il disastro è stato improvviso e senza possibilità di recupero dei dati.
Finché i produttori del Raspberry non produrranno una versione che consenta l’installazione sulla scheda madre di unità allo stato solido come le NVMe ci dobbiamo accontentare (si fa per dire viste le prestazioni di tutto rispetto delle porte USB 3 del PI 4) di utilizzare drive connessi tramite porta USB.
Fortunatamente il nuovo sistema operativo, ma soprattutto il nuovo firmware per Raspberry PI 4, a differenza delle versioni precedenti portano con se la possibilità di eseguire il boot anche da drive USB nativamente. La funzione però deve essere attivata perché di default il sistema avvia solo da SD.
Come attivo il boot da USB?
Il boot via USB del Raspberry PI 4 si ottiene installando la versione più recente del firmware.
Anzitutto aggiorniamo il sistema:
sudo apt update sudo apt full-upgrade
Poi assicuriamoci di avere installato la versione stabile più recente del bootloader.
Attenzione!
Qui molto spesso in vecchi tutorial viene chiesto di installare una versione critical o beta del bootloader. Non è necessario dato che è da tempo che le versioni “stable” funzionano benissimo. Ad oggi la versione più recente è la “pieeprom-2021-04-29.bin” e non ha problemi. Le varie versioni dei bootloader si trovano qui: /lib/firmware/raspberrypi/bootloader/
Ci sono un paio di modi per installare il bootloader: usando raspi-config oppure con comandi a terminale.
Metodo 1: raspi-config
Eseguiamo
sudo raspi-config
nella schermata selezioniamo l’opzione “Advanced options” e poi “Bootloader version”, quindi “Latest”
Confermiamo con OK e Riavviamo il Raspberry.
Metodo 2: comandi a terminale
Assicuriamoci prima di tutto che l’installer acceda alle versioni stable del bootloader
sudo cat /etc/default/rpi-eeprom-update
e verifichiamo che contenga
FIRMWARE_RELEASE_STATUS="stable"
Quindi eseguiamo l’upgrade eseguendo il comando
sudo rpi-eeprom-update -d -a
e riavviamo il Raspberry.
Con entrambi i metodi eseguendo il comando:
sudo vcgencmd bootloader_version
controlliamo che la versione avviata corrisponda a quella stabile installata
Apr 29 2021 17:11:25 version c2f8c388c4ee37ad709ace403467d163e8dd91ce (release) timestamp 1619712685 update-time 1620283752 capabilities 0x0000001f
Avviamo da USB
A questo punto il bootloader è pronto, ma dobbiamo dire a Raspberry di utilizzare l’USB invece dell’SD per il boot. Per farlo usiamo di nuovo il comando:
sudo raspi-config
nella schermata selezioniamo l’opzione “Advanced options” e poi “Boot order”, quindi “Usb boot”
Fatto! Ora se installiamo in un SSD USB o in una pendrive USB il sistema operativo Raspbian e lo colleghiamo alla porta USB 3 del nostro Raspberry otteniamo il boot del sistema dal nuovo drive.
A questo punto potrebbe nascere spontanea una domanda: Come faccio a trasferire integralmente il mio sistema da SD a USB senza dover reinstallare tutto da capo?
Bene, la risposta la trovi in questo articolo.