Computer Gaming

Tutto quello che volete sapere su Tech e Hardware dalla Apu alla Zalman

Raspberry Pi: preparare una card SD con il sistema operativo

Posted by Eraovius on novembre - 7 - 2016

In questo articolo, vedremo le primissime operazioni da fare prima ancora di collegare il nostro nuovo Raspberry Pi, in particolare:

  • come formattare correttamente una scheda SD;
  • quali opzioni abbiamo per scegliere la variante di sistema operativo piu’ adatta;
  • come preparare la scheda SD scrivendovi l’immagine avviabile del sistema.

Raspberry pi screen

Per poter avviare il nostro nuovo Raspberry Pi, è necessario prima preparare una scheda SD, che conterrà il sistema operativo e i programmi che andremo successivamente a installare. Il sistema operativo più utilizzato sul Pi è Raspbian, una versione di Debian Linux ottimizzata per il Raspberry; sono possibili anche altre scelte, come Pidora (basata su Fedora Remix) e RaspBMC, una distribuzione dell’eccellente media center XBMC, particolarmente indicata nel caso si voglia utilizzare il Raspberry come hub multimediale per riproduzione di musica, fotografie e filmati (anche in HD). Andiamo a vedere due diversi metodi per la preparazione della scheda SD. In entrambi i casi, è consigliato l’utilizzo di una scheda da 4 o 8 GB, di classe 4 o superiore. Io ho usato con successo sia delle Kingston classe 4 da 4GB che una Lexar classe 6, sempre da 4GB. Vi servirà, ovviamente, un lettore di SD USB se non ne avete uno integrato nel vostro computer. Prima di cominciare è necessario preparare la scheda con il programma SD Formatter, scaricabile da qui. Formattando la card con questo programma si eliminano tutti i dati, incluse eventuali partizioni multiple che Windows non riesce a vedere (e quindi a formattare). Lanciando il programma sotto Windows, appare questa schermata:

La finestra principale di SD Formatter: la scheda utilizzata è una 4GB, tuttavia, dopo precedenti tentativi di installazione di Raspbian, lo schema delle partizioni fa "vedere" a Windows solo 56MB.

Controlliamo che la lettera di unità indicata sia corrispondente al lettore di SD, scegliamo (volendo) un nome per il volume, e cliccando sul tasto Option selezioniamo Format Type: Quick e Format Size Adjustment: On. Premendo Format e dando conferma alle successive richieste, verranno eliminate tutte le partizioni presenti sulla scheda SD e ne verrà ricreata una singola mettendo a disposizione l’intera capacità della scheda (3.72GB effettivi). Possiamo passare alla scrittura vera e propria del sistema operativo sulla card, ma prima dobbiamo scegliere quale metodo utilizzare fra i due principali disponibili.

Tutti i pacchetti software indicati di seguito sono sempre recuperabili dalla pagina principale dei download sul sito ufficiale.

Il primo metodo, introdotto di recente, utilizza il cosiddetto pacchetto NOOBS (New Out of Box Software) per creare una SD autoavviante partendo dalla semplice estrazione di un archivio ZIP. Non sono richiesti software aggiuntivi nè per Windows, nè per Linux/Mac OsX. Al primo avvio del Raspberry, è possibile scegliere la distribuzione software che si desidera usare da un menu grafico: sono presenti le tre principali sopraelencate e alcune altre scelte. Il vantaggio di questo metodo è che non richiede un software particolare per scrivere la SD; tuttavia, il download del pacchetto di installazione è più pesante e supera il GB. Iniziamo scaricando il pacchetto NOOBS da qui (via http) o da qui (via torrent). Siccome il server è lentissimo e ci vorrà almeno mezz’ora, indipendentemente dalla vostra velocità di connessione, vi abbiamo caricato l’ultima versione (la 2.0.0) sul nostro server MEGA, cliccate qui (1.1GB). Una volta scaricato, basta estrarne il contenuto nella cartella principale della card SD formattata, preservando la struttura delle sottocartelle. Ecco come si presenta una SD correttamente preparata usando Windows:

Una card SD preparata con NOOBS. Notare che i file recovery.img e recovery.elf si trovano nella cartella radice della SD (N:)

Se la card SD è stata preparata correttamente, inserendola nel Raspberry Pi e collegando l’alimentazione microUSB la board dovrebbe avviarsi e, dopo qualche secondo, visualizzare a schermo il menu di NOOBS. Se non viene visualizzato nulla, è possibile cambiare la modalità video premendo uno dei tasti seguenti:

  1. HDMI (modalità default)
  2. HDMI safe mode, da provare se si usa il cavo HDMI e il monitor non visualizza nulla
  3. Composito PAL, da usare se si e’ collegato il Pi usando il cavo composito (jack giallo)
  4. Composito NTSC

La schermata di avvio di NOOBS (www.raspberrypi.org)

Una volta visualizzato il menu principale, possiamo scegliere la distribuzione da utilizzare, e dal riavvio successivo il Pi si avvierà direttamente senza riproporre la schermata di recovery. La scelta consigliata per iniziare è Raspbian.

Attenzione: NOOBS non viene sovrascritto, per cui se in un secondo momento volessimo provare un’altra delle distribuzioni offerte, possiamo tenere premuto Shift durante l’avvio per tornare alla recovery e modificare la nostra scelta. Nel menu di recovery ci sono anche altre utilità, come un browser per consultare Google in caso di problemi. Per una descrizione più completa di NOOBS si veda la pagina di annuncio su raspberrypi.org.

Il secondo metodo (che noi preferiamo abbondantemente) consiste nello scegliere direttamente una distribuzione, scaricarne una immagine (file .img) e scrivere l’immagine sulla SD nel modo corretto, per preparare il filesystem e renderla avviabile. Per poterlo fare sotto Windows è necessario un software aggiuntivo, Win32DiskImager, scaricabile qui, oppure QUI dal nostro server MEGA (11.1MB). Sotto Linux o OsX si può usare dd da riga di comando o Terminale. Il vantaggio è che dovendo scaricare solo i file di una specifica distribuzione, il download è molto più leggero (Raspbian pesa circa 470MB contro 1.1GB di NOOBS). Sulla pagina dei download del sito raspberrypi.org, dobbiamo scaricare il file immagine di Raspbian “wheezy”, la prima distribuzione fra quelle elencate alla voce Raw Images. Al momento, l’ultima versione è datata 25 maggio 2013 ed è scaricabile direttamente da qui (http) o da qui (torrent). Una volta ottenuto il file con estensione .zip, lo estraiamo per ottenere il file .img. Se siamo sotto Windows, lanciamo Win32DiskImager (non necessita di installazione, è sufficiente estrarre lo zip in una cartella):

La finestra di Win32DiskImager, con l'immagine di Raspbian caricata e pronta per essere scritta sulla SD.

Cliccando sull’icona della cartella andiamo a cercare il file .img appena estratto, controlliamo che la lettera sotto Device corrisponda a quella del lettore di SD, e iniziamo la scrittura con Write. Dopo qualche minuto la nostra scheda SD sarà pronta per essere inserita nello slot del Raspberry per poterlo avviare. Se siamo sotto Linux o OsX, ci sono vari metodi e, volendo, varie utility, sia grafiche che da Terminale, per scrivere l’immagine sulla scheda SD. Il più rapido, che non richiede nessun software aggiuntivo oltre a quello già presente sul computer, prevede l’utilizzo del comando dd. Un elenco completo delle procedure e delle utility disponibile si trova su questa pagina.

Attenzione!

il comando dd è potenzialmente pericoloso, dato che può sovrascrivere qualsiasi partizionesu un qualsiasi disco collegato al computer. Fate attenzione a individuare il device giusto per il vostro sistema e a indicarlo correttamente nei comandi che seguono!

Ecco un esempio di come scrivere una immagine sotto OsX, usando dd:

  • diskutil list
  • identificate il disco corretto (e non la partizione) corrispondente alla scheda SD (ad esempio, disk4 e non disk4s1)
  • diskutil unmountDisk /dev/<disk# from diskutil>
  • dove, nell’esempio precedente, si userebbe disk4: /dev/disk4
  • sudo dd bs=1m if=<your image file>.img of=/dev/<disk# from diskutil>
  • dove va sostituito il percorso corretto del file immagine, e ancora una volta l’identificativo del disco trovato prima.

Utilizzo del Terminale per preparare la scheda SD con Raspbian usando dd. Il lettore SD interno del Mac corrisponde a /dev/disk1. Nei parametri del comando dd, tuttavia, si è preferito usare /dev/rdisk1 per una scrittura più veloce.

Una volta dato il comando sudo dd, vi verrà chiesta la password di amministratore di OsX, dopodichè trascorreranno alcuni minuti senza nessun output a schermo mentre la scrittura viene effettuata. Una volta conclusa l’operazione, sarà possibile inserire la scheda nel Raspberry e avviarlo: al primo avvio, dopo il caricamento del sistema operativo verrà lanciato automaticamente il tool raspi-config, che permette la configurazione di base del sistema.

 

Collegare un hard disk esterno al Pi

 

Prima di iniziare, un paio di precisazioni. La prima riguarda il tipo di disco utilizzato: tipicamente in commercio si trovano dischi USB da 3.5″ e da 2.5″. I primi hanno un contenitore di dimensioni maggiori e sono tipicamente alimentati esternamente tramite un classico “mattoncino” da collegare a una presa di corrente. In questo caso il cavo USB porta solo i dati e non ci sono problemi di sorta collegandoli al Pi. I dischi da 2.5″, invece, sono quelli con il contenitore piu’ piccolo, e di solito sono autoalimentati, ovvero usano il cavo USB (a volte un particolare cavo sdoppiato), oltre che per portare i dati, anche per assorbire la corrente necessaria dal PC o dal dispositivo a cui sono collegati; in questo caso e’ necessario procurarsi un hub multiporta USB alimentato esternamente, da collegare al Raspberry e a cui collegare il disco da 2.5″, dato che il Pi da solo non riuscirebbe a fornire la corrente necessaria a far funzionare l’hard disk.

Una volta collegato correttamente il disco, la seconda precisazione riguarda la scelta del filesystem da utilizzare, ovvero il formato con cui inizializzarlo. Ogni sistema operativo utilizza almeno un diverso tipo di filesystem, e spesso non è in grado di leggere o scrivere dischi formattati diversamente. Per scegliere bene e non pentirsene più avanti (cambiare il tipo di filesystem usato, di solito, richiede una formattazione del disco con conseguente perdita dei dati) dobbiamo prima ragionare su che genere di file ci metteremo sopra e se avremo bisogno di usare il disco con altri computer. Qui di seguito sono elencati alcuni tipi di filesystem con pro e contro.

  • Le versioni recenti di Windows (XP, Vista, Seven, 8) usano tipicamente dischi formattati in NTFS. Questo filesystem permette di memorizzare file più grandi di 2GB, ma viene usato in sola lettura dai sistemi Linux e OSX, e non supporta i permessi sui file e le cartelle. E’ possibile aggiungere il supporto alla scrittura usando il driver open-source e gratuito ntfs-3g. Tuttavia, ad oggi, sul Raspberry questo driver ha grossi problemi di prestazioni, rendendo la scrittura di file su dischi NTFS estremamente lenta.
  • Le versioni più vecchie di Windows usavano il filesystem FAT, di cui ancora oggi esistono diverse varianti come FAT32 e ExFAT. In particolare, FAT32 è il filesystem in assoluto più compatibile fra i vari sistemi operativi, dato che tutti sono in grado di leggerlo e scriverlo, ma ha una limitazione sulla dimensione massima dei file, che non possono superare i 4GB, e non supporta i permessi sui file. Se questo non è un problema, usando FAT32 potete usare facilmente il disco del Raspberry su quasi tutti gli altri computer.
  • Apple usa per OSX il filesystem HFS+ e le sue varianti con e senza journaling. Linux e’ in grado di leggere i dischi HFS+ ma non di scriverli se il journaling è abilitato. Windows non può nemmeno leggerli a meno di non installare software commerciali.
  • Infine, su Linux viene utilizzato nativamente il filesystem EXT, che sul Raspberry garantisce le massime prestazioni in lettura e scrittura senza sovraccaricare la CPU. EXT supporta i permessi Unix su file e cartelle, e si tratta inoltre di un filesystem robusto e affidabile. Lo svantaggio è che per poterlo leggere sotto Windows e OSX sono necessari driver o utility di terze parti.

Per prestazioni su ambiente linux e semplicità, è cosigliabile il filesystem EXT4, e una volta che è collegato e formattao il disco, iniziamo usando il comando fdisk per elencare i dischi riconosciuti dal sistema:

pi@raspberry ~ $ sudo fdisk -l

Il primo disco che verrà elencato sarà probabilmente la scheda SD su cui risiede il sistema operativo del Raspberry, indicata dal nome di device /dev/mmcblk0; il secondo disco elencato, in questo caso /dev/sda, è il disco USB connesso (possiamo riconoscerlo anche dalla capacità, indicata immediatamente a fianco del device name, come in figura, cerchiati in giallo).

 

In giallo troviamo il nome logico del disco e la sua capacità, mentre in rosso il nome assegnato alla partizione (/dev/sda1).

Una volta individuato il disco, nella stessa schermata troveremo anche la lista delle partizioniin cui esso è eventualmente diviso: nella figura di cui sopra, ad esempio, la scheda SD è divisa in due partizioni, chiamate /dev/mmcblk0p1 e /dev/mmcblk0p2, mentre il disco USB ha una sola partizione chiamata /dev/sda1 (cerchiata in rosso). Prendiamo nota del nome completo di questa partizione e andiamo avanti.

Per formattarla usando il filesystem EXT4, usiamo il comando seguente (attenzione, come sempre succede formattando, viene eliminato tutto ciò che si trova sul disco!), dove /dev/sda1 è il nome della partizione da formattare e l’opzione -L ci permette di assegnare una etichetta alla partizione stessa

pi@raspberry ~ $ sudo mkfs.ext4 /dev/sda1 -L etichetta_volume

Una volta completata la formattazione, è necessario creare un mount point, ovvero una cartella da usare come “punto di aggancio” della struttura di file e cartelle del disco al filesystem principale del sistema, che parte dalla cartella radice o root ( / ). Per convenzione, i dischi esterni vengono sempre montati in sottocartelle dentro la directory /mnt: creiamo quindi una sottodirectory /mnt/usbhdd con il comando mkdir, e poi cambiamone i permessi di accesso con chmod per renderla leggibile e scrivibile da tutto gli utenti del sistema (incluso l’utente predefinito pi):

pi@raspberry ~ $ sudo mkdir /mnt/usbhdd
pi@raspberry ~ $ sudo chmod 777 /mnt/usbhdd

Una volta creata la directory che fungerà da mount point, “montiamo” il disco sulla stessa con il comando mount:

pi@raspberry ~ $ sudo mount /dev/sda1 /mnt/usbhdd

Ora possiamo navigare la struttura dei file e delle cartelle del disco USB entrando in /mnt/usbhdd e usando ls:

pi@raspberry ~ $ cd /mnt/usbhdd
pi@raspberry ~ $ ls -l

Importante: prima di spegnere o scollegare il disco esterno, è sempre bene smontare il discodal filesystem, in modo che vengano chiuse eventuali scritture in sospeso. Il comando da usare è umount, seguito dal nome della partizione:

pi@raspberry ~ $ sudo umount /dev/sda1

Se non si smonta il disco prima di scollegarlo o spegnerlo, il filesystem potrebbe risultare danneggiato e potrebbero andare persi dei dati. Il comando umount non è necessario quando si arresta il sistema con shutdown -h (o lo si riavvia con shutdown -r).

Vediamo infine come impostare il sistema per montare automaticamente il disco esterno ogni volta che si effettua un riavvio; per farlo è necessario fare una modifica al file di testo /etc/fstab (usando nano o un altro editor come vi):

pi@raspberry ~ $ sudo nano /etc/fstab

Una volta aperto il file nell’editor, le prime due righe sono relative alle due partizioni di sistema presenti sulla sdcard; sotto di esse aggiungiamo una terza riga per la partizione del disco esterno, con il testo seguente (fra una voce e l’altra c’e’ una tabulazione):

/dev/sda1    /mnt/usbhdd     auto     defaults,user   0   1

Come modificare il file /etc/fstab per montare automaticamente la partizione /dev/sda1.

Dopodichè salviamo il file (con nano ctrl-o) e usciamo (ctrl-x); al riavvio il disco, se acceso prima del Pi, verrà rimontato automaticamente. Nel caso ci dimenticassimo di accendere il disco prima del Raspberry, è sempre possibile montarlo in un secondo momento con uno dei seguenti comandi:

pi@raspberry ~ $ sudo mount /dev/sda1 /mnt/usbhdd

oppure, se si è modificato il file fstab, con il comando

pi@raspberry ~ $ sudo mount -a

A questo punto è possibile utilizzare il Raspberry come storage di file; in un prossimo post vedremo come poter accedere al contenuto del disco esterno tramite rete locale, utilizzando sFTP oppure installando e configurando Samba.

Categories: Guide

Comments are closed.

  • RSS
  • Delicious
  • Digg
  • Facebook
  • Twitter
  • Linkedin

Search Site

Popular Posts

Mini-tutorial: Installare Windows...

Nonostante sia una cosa del tutto semplice, capita sempre più ...

Xbox One? PS4?...

In questo periodo di paliatoni tra chi preferisce l'una o ...

I sondaggi di...

L'avvento di Windows 8 è stato una rivelazione, in meno ...

ASUS e il...

"Mammaaaa, mi serve un nuovo Router!" "Come, quella cosa bianca quadrata ...

Monitor: come va...

Ho visto nel corso del tempo che molti quando vanno ...

Twitter updates

RSS not configured

Sponsors

  • Archivio articoli

  • Tag e Argomenti