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

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *