lunedì 6 luglio 2015

Installare Raspbian su Hard Disk esterno o pennetta USB

Buongiorno a tutti! A causa degli esami non riusciamo ad essere troppo presenti sul blog. In ogni caso abbiamo preparato qualche chicca per voi. In questi giorni mi sono munito – finalmente – anche io di un fastastico Raspberry. Ho scelto l'ultima versione disponibile: il Raspberry Pi 2.
La guida di oggi vuole aiutarvi ad installare il sistema operativo Raspbian su una chiavetta o su un HDD esterno. Perchè? Beh una delle cose che non ci è mai piaciuta troppo di questo fantastico mini-pc è appunto la memoria su cui è installato il sistema operativo. I costruttori infatti, per i più disparati motivi, hanno utilizzato una una micro-sd – o una SD a seconda del modello – come storage di massa. Per l'utilizzo originale, ossia quello istruttivo, va più che bene. Se però dobbiamo utilizzare il nostro lampone preferito per qualcosa di più impegnativo non è sufficiente. Il motivo principe è che le memorie flash soffrono le scritture ripetute, abbassandone notevolmente il ciclo di vita. Per questo motivo abbiamo deciso di utilizzare il Raspberry con l'ausilio di un HardDisk connesso via usb, su cui girerà il sistema operativo.



PASSAGGI PRELIMINARI
Per questa guida abbiamo utilizzato il Raspberry Pi 2, ma è perfettamente compatibile con le altre versioni in commercio. Per chi non ne avesse uno, noi abbiamo acquistato lo starter kit per poter iniziare subito con tutto il necessario: cavi, case, memoria e caricatore. Piacevole sorpresa è la presenza di NOOBS, l'installatore ufficiale di Raspbian, già preinstallato nella scheda di memoria.

Una volta spacchettato il tutto installiamo Raspbian sul nostro Raspberry, utilizzando il già citato NOOBS.
Si può facilmente installare direttamente Raspbian seguendo questa guida di Daniele.

Il passo successivo è quello di impostare la lingua del sistema – system locale in gergo – la disposizione e la lingua della tastiera. Per farlo seguiamo questa guida.

Ora siamo a cavallo. Abbiamo tutto il necessario e non ci resta che iniziare. La procedura durerà dai 15 ai 30 minuti a seconda di quanto “grande” è il sistema operativo e di quanto è “veloce” la vostra periferica di archiviazione.

Apriamo il terminale del nostro Raspberry e ci appropriamo innanzitutto dei privilegi di root con:


sudo -i

a questo punto, dopo aver collegato il nostro Hard Disk, lanciamo il comando:


lsblk

per stampare così a video tutte le partizioni presenti. Come possiamo vedere dall'immagine, la nostra periferica è stata montata correttamente in /dev/sda. Ora dobbiamo formattarla nel modo corretto dando:


fdisk /dev/sda

nel dialogo inseriamo d e premiamo su invio, per eliminare il contenuto. Poi diamo n e p per creare una nuova partizione primaria. Naturalmente è possibile utilizzare un numero diverso di partizioni, ad esempio dedicandone una solo al sistema operativo – / o root che dir si voglia – e un'altra dedicata solo allo storage dei dati – assegnandogli la partizione /home. Ora noi abbiamo creato solo una partizione, se avete intenzione di fare qualcosa di più complesso vi rimandiamo alla guida avanzata al partizionamento da terminale.

Una volta che siamo soddisfatti digitiamo w per scrivere su disco le modifiche. L'ultimo passo è la formattazione delle partizioni in ext4. Diamo così il comando:


mke2fs -t ext4 -L rootfs /dev/sda1

Arrivati a questo punto ridiamo il comando:


lsblk

e identifichiamo la partizione su cui vogliamo inserire la root del sistema. A questo punto montiamo la partizione all'interno di /mnt con il comando:


mount /dev/sda /mnt

ovviamente se abbiamo più partizioni da montare basterà creare alcune tante cartelle quanto bastano per poi montarci dentro le nostre partizioni.

Ora non ci resta che copiare tutto il contenuto della partizione / (root) con il comando rsync:


rsync -axv / /mnt

Utilizziamo rsync al posto di dd per il semplice fatto che il primo comando è più rapido dato che non copia anche lo spazio libero.
La faccenda durerà molto, quindi apriamo un'altra finestra del terminale e, una volta che abbiamo riacquistato i privilegi di root, proseguiamo.
È giunta l'ora di informare il nostro sistema operativo che è stato sfrattato dalla scheda sd e da ora in poi risiederà all'interno di /dev/sda1. Come fare? Dato che, per come è stato costruito, il Raspberry lancerà sempre qualunque sistema operativo dalla scheda sd, /boot dovrà restare per forza lì dov'è. Per prima cosa notifichiamo l'avvenuto spostamento modificando il file cmdline.txt. Facciamo prima una copia di backup con:


cp /boot/cmdline.txt /boot/cmdline.orig

Apriamo il file con:


nano /boot/cmdline.txt

e cerchiamo una stringa simile a root=/dev/mmcblk0p2, che rappresenta la vecchia partizione. Ora la dobbiamo sostituire con root=/dev/sda1
Il risultato finale dovrà essere simile a questo:



Salviamo e chiudiamo con ctrl-x e andiamo avanti. Ora dobbiamo modificare l'ultima entry all'interno di /mnt/etc/fstab con:


nano /mnt/etc/fstab

Anche qui al posto di /dev/mmcblk0p2 dobbiamo inserire /dev/sda1 per notificare al sistema la nuova posizione della root.
Salviamo di nuovo con ctrl-x e riavviamo il sistema con:


reboot

Al riavvio, una volta fatto il login, verifichiamo con:


lsblk

che sia andato tutto bene, ossia che le partizioni siano state montate correttamente, ma sinceramente se avete fatto il login era già segno che era andato tutto per il meglio.

Al prossimo post ;)


Fonti:
- Immagini di Joel Garia.
- Raspberry Pi Forum.
- Wikipedia - Memoria flash.
- Structured Computer Organization – Tanembaum. Flash Memory Pag 173, Par 2.

Nessun commento:

Posta un commento