Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Boot da disco esterno su Raspberry Pi 3

Link copiato negli appunti

La Raspberry Pi è stata progettata per eseguire il boot automaticamente dalla scheda microSD. Questo aspetto può risultare molto comodo per i principianti visto che cosi si può ottenere un sistema pronto con il semplice flash di una microSD, cosi come avviene in ambito Android. Ma questa feature può anche rappresentare un rischio di perdita di dati visto che le microSD hanno la tendenza ad esaurire il loro ciclo vitale molto velocemente se usate per avviare un sistema operativo.

Per questo oggi vederemo come eseguire il boot da un disco esterno connesso via USB. A partire dalla Raspberry Pi 3 non è più necessaria un'alimentazione supplementare per i dischi esterni, dunque uno dei principali limiti di questa board ARM è stato superato con le ultime versioni in commercio. Per prima cosa formattiamo il disco in EXT4:

sudo mkfs.ext4 /dev/sdX1

Per scoprire esattamente come è stato chiamato il disco che ci interessa possiamo usare questo comando che ci indicherà tutti i dischi e le partizioni presenti:

sudo fdisk -l

Adesso montiamo il disco:

sudo mount /dev/sdX /mnt

Ora installiamo rsync, un tool che si occupa di tenere sincronizzati i dati tra diverse directory:

sudo apt-get install rsync

Dunque copiamo tutto il contenuto della microSD all'interno del disco esterno tramite rsync:

sudo rsync -axv / /mnt

Quindi andiamo ad indicare alla distribuzione il nuovo disco di boot modificando il file cmdline.txt, per sicurezza però è meglio creare prima un backup del suddetto file:

cp /boot/cmdline.txt /boot/cmdline.txt.bak
sudo nano /boot/cmdline.txt

In particolare ci interessa la voce "root=", dova va scritta la posizione del disco esterno (ovvero /dev/sdX1) e inoltre sarà necessario aggiungere la voce "rootdelay=5" alla fine del file, in modo da regolare il tempo di attesa prima di montare il root filesystem. Il file apparirà dunque cosi:

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/sdX1 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait rootdelay=5

Infine non resta che aggiungere il disco esterno dentro fstab cosi da montare la root in modo automatico durante il boot:

sudo nano /mnt/etc/fstab

Inseriamo dunque il disco esterno nella seconda riga del file:

/dev/sdX1       /               ext4    defaults,noatime  0       1

e blocchiamo il boot dalla microSD andando a commentare la sua riga con un cancelletto (#):

#/dev/mmcbXXXX  /               ext4    defaults,noatime  0       1

Alla fine delle modifiche il file dovrebbe apparire in questo modo:

proc            /proc           proc    defaults          0       0
    /dev/sda1       /               ext4    defaults,noatime  0       1
    /dev/mmcbXXXX  /boot           vfat    defaults          0       2
    #/dev/mmcbXXXX  /               ext4    defaults,noatime  0       1

Ora l'intero sistema si trova dentro il disco esterno, tuttavia i file di boot sono ancora presenti dentro la microSD e sarà necessario tenerla sempre montata sulla Raspberry Pi.

Per approfondire: Make Tech Easier

Ti consigliamo anche