Primi passi con Raspbian

Dopo il post precedente, in cui abbiamo visto come preparare una card SD contenente il sistema operativo per il nostro Raspberry Pi, in questo post vedremo i primi passi da effettuare subito dopo il primo avvio. Abbiamo scelto la distribuzione software Raspbian “wheezy”, a cui faremo riferimento (non importa se installata mediante il tool NOOBS o direttamente dal file immagine). Vedremo in particolare:

  • il tool raspi-config;
  • come effetuare il primo login;
  • l’espansione del filesystem sulla card SD;
  • come impostare la localizzazione (lingua, timezone, layout di tastiera);
  • come attivare ssh ed effettuare il login da remoto.

Per il primo avvio del Pi, sarà necessario collegare un monitor esterno tramite HDMI (consigliato) o cavo video composito (jack giallo). Ci servirà inoltre una tastiera USB. Una volta che avremo attivato il login remoto via ssh, questi due cavi potranno essere scollegati tranquillamente. Ovviamente, per il login remoto è necessario collegare il Pi al router di casa con un cavo Ethernet.

Il tool raspi-config

Al primo avvio del Pi, il tool raspi-config dovrebbe essere lanciato automaticamente, e presentare il suo menu principale:

Il menu principale di raspi-config

Il menu principale di raspi-config

Nei riavvii successivi del Pi, il sistema vi presenterà la classica schermata nera di Linux con una lunga lista testuale di messaggi di avvio e controllo, e alla fine vi chiederà di effettuare il login. Su Raspbian, l’utente predefinito è pi, e la sua password è raspberry (attenzione: mentre si digita la password, non viene visualizzato nulla a schermo!). Subito dopo il login apparirà il prompt della shell dei comandi:

pi@raspberry ~ $

Per lanciare il tool di configurazione, digitare il comando raspi-config e premere invio.

pi@raspberry ~ $ raspi-config Script must be run as root. Try ‘sudo raspi-config’

Il sistema ci avvisa che il comando raspi-config va eseguito come root, ovvero come amministratore di sistema, dato che va a modificare dei file di configurazione. Per acquisire temporaneamente i privilegi di root basta invocare  di nuovo il comando facendolo precedere da sudo: sudo raspi-config <invio>.

Attenzione! Se non avete ancora configurato il layout di tastiera, è possibile che la vostra tastiera non sia correttamente impostata: in questo caso, premendo il tasto sulla tastiera italiana vi verrà invece inserito sulla riga di comando il carattere /. Per il momento, potete inserire il carattere  usando il tasto a destra dello zero.

A questo punto dovreste avere a schermo il menu principale del tool raspi-config, come nell’immagine precedente; si noti che la disposizione delle voci è cambiata in una delle ultime release di Raspbian e probabilmente cambierà ancora in futuro; in ogni caso, le voci non sono molte e non sarà difficile navigare nei pochi menu cercando le corrispondenze.

L’espansione del filesystem

Al primo avvio di una nuova installazione di Raspbian,è possibile che la card SD sia partizionata in modo da non utilizzare tutto lo spazio disponibile sulla card stessa, ma solo 1GB o 2GB: questo accade in particolare usando l’immagine disco e il tool dd o Win32diskImager. Per poter recuperare lo spazio mancante, la prima cosa da fare una volta installato il sistema e lanciato il tool raspi-config è selezionare la prima voce di menu, Expand filesystem. Dopo qualche secondo apparirà la seguente schermata:

raspi-config ci informa che la partizione root è stata espansa per utilizzare tutto lo spazio della card SD.

raspi-config ci informa che la partizione root è stata espansa per utilizzare tutto lo spazio della card SD.

Il sistema ci informa che la partizione principale è stata espansa e che il filesystem verrà allargato al riavvio successivo, riportandoci, dopo la pressione del tasto invio, al menu principale. Da qui, selezionando Finish in basso a destra o premendo Esc, possiamo scegliere di riavviare il sistema per applicare le modifiche.

Nel caso in cui il sistema non si riavviasse automaticamente ma si limitasse a uscire da raspi-config per tornare al prompt della shell, possiamo riavviare manualmente con il comando shutdown -r:

pi@raspberry ~ $ sudo shutdown -r now

Una volta completato il reboot, il sistema vi chiederà nuovamente di effettuare il login. Una volta tornati al prompt della shell, possiamo verificare che il filesystem sia stato effettivamente espanso con il comando df -h (qui il sistema è installato su una SD da 4GB, la cui capacità effettiva formattata è di circa 3,7GB):

Il comando df -h permette di verificare lo spazio libero sui dischi (lo switch -h sta per human-readable, ovvero fornisce i risultati in GB e MB)

Il comando df -h permette di verificare lo spazio libero sui dischi (lo switch -h sta per human-readable, ovvero fornisce i risultati in GB e MB). La prima riga, relativa a rootfs, ci conferma che ora stiamo usando tutti i 4GB della scheda SD.

Come impostare la localizzazione

Rientriamo ora nel tool raspi-config e andiamo alla voce numero 4: Internationalisation Options; selezioniamo quindi il sotto-menu I1: Change Locale, e dopo qualche secondo di attesa ci verrà presentata la lista di tutte le possibili localizzazioni linguistiche. Scorriamo la lista dei paesi fino ad arrivare a trovare it_IT.UTF-8 UTF-8, selezioniamolo premendo spazio, dopodiché premendo TAB andiamo a evidenziare Ok e confermiamo con invio.

La scelta della lingua per la localizzazione.

La scelta della lingua per la localizzazione.

Nella schermata successiva possiamo scegliere se impostare l’italiano come lingua predefinita per tutti quei programmi che lo supportano; se vogliamo farlo, selezioniamolo dalla lista al posto dell’inglese e premiamo OK (un esempio è nella schermata sopra, in cui dopo aver scelto la localizzazione italiana in una sessione precedente, ora il menu appare tradotto). Dopo alcuni secondi in cui il sistema genererà i file di localizzazione, ci ritroveremo di nuovo alla schermata principale di raspi-config. Rientriamo nel menu 4 e scegliamo il sotto-menu I2: Change Timezone, poi Europe e infine Rome per impostare il fuso orario corretto nell’orologio di sistema. Torniamo infine una terza volta nel menu 4 e scegliamo la terza e ultima voce, I3: Change Keyboard Layout per impostare la mappa caratteri della tastiera. Nel 99% dei casi va bene la scelta predefinita, Generic International Keyboard (105 tasti). Premendo invio passiamo alla selezione del layout, dove sceglieremo Other e poi Italian, e dalla lista dei possibili layout italiani Italian (la prima voce) e poi all’assegnazione del tasto AltGr diamo la prima voce (the default…) e ancora la prima voce all’assegnazione del tasto compose. Nella schermata successiva ci viene chiesto se assegnare la combinazione di tasti Ctrl-Alt-Backspace alla terminazione del server grafico X: rispondiamo di si, dato che a volte questa può essere utile nel caso in futuro si utilizzi l’ambiente desktop grafico. A questo punto la parte di localizzazione è conclusa.

Se volete provare ad utilizzare il desktop grafico preinstallato, il comando per lanciarlo è startx. Troverete alcune applicazioni già pronte, fra cui un browser Web, Midori.

Attivazione di SSH

Tornati al menu principale di raspi-config, selezioniamo la voce numero 8: Advanced options. Nel sottomenu ci sono diverse voci utili a risolvere piccoli problemi di visualizzazione, a cambiare il nome (hostname) con cui il Raspberry verrà identificato sulla rete locale una volta attivata la condivisione file, e ad aggiornare il tool raspi-config stesso. Per il momento scegliamo la voce A4: SSH e attiviamo il server SSH, che ci consentirà di effettuare il login remoto, ovvero di poter inviare comandi di shell e visualizzarne il risultato da un altro pc sulla rete locale senza bisogno di collegare tastiera e monitor al Pi. Una volta attivato SSH, usciamo da raspi-config e arrivati al prompt della shell lanciamo il comando ifconfig:

L'utilizzo di ifconfig per scoprire l'indirizzo IP assegnato dal router al Raspberry sulla rete locale (LAN).

L’utilizzo di ifconfig per scoprire l’indirizzo IP assegnato dal router al Raspberry sulla rete locale (LAN).

L’indirizzo IP sulla rete locale e’ alla voce eth0 sotto il nome inet addr: in questo caso è 192.168.0.9. Questo IP sarà necessario per collegarsi al Raspberry in diversi modi, a cominciare da SSH per poi proseguire con la condivisione dei file o i pannelli di controllo di Transmission (torrent) o aMule (client emule), quindi è bene prenderne nota.

Attenzione! Nella maggior parte dei casi, i router casalinghi sono impostati per assegnare gli indirizzi IP ai device (pc, laptop, tablet, cellulari…) che vi si collegano in modo dinamico, utilizzando il protocollo DHCP. Il risultato è che l’indirizzo IP del Raspberry sulla LAN potrebbe cambiare dopo un riavvio del Pi stesso o del router, impedendoci di “ritrovarlo” sulla rete specialmente se lo abbiamo scollegato da tastiera e monitor. Se lo abbiamo “perso” in questo modo, possiamo andare a vedere nella pagina di configurazione del router e cercare una voce del tipo “Attached devices” o simili, dove vengono elencati i dispositivi collegati e i relativi indirizzi IP. Per risolvere del tutto il problema, è necessario controllare, sempre nella configurazione del router, se è possibile assegnare un IP “riservato” ad alcuni device, e in tal caso scegliere un indirizzo per il Raspberry in modo che rimanga fissato nel tempo.

Una volta attivato il server SSH, possiamo collegarci al Pi usando un qualunque client SSH; ce ne sono per tutte le piattaforme, incluse alcune app per smartphone e tablet. Sotto Windows, la più famosa è PuTTY, scaricabile dal suo sito ufficiale. Una volta lanciata (è un singolo file putty.exe, non c’è bisogno di installazione) è sufficiente digitare l’indirizzo IP del Raspberry nel campo Host Name e premere Open.

La pagina di configurazione di PuTTY. E' possibile anche impostare diversi parametri, come il tipo di carattere e la dimensione, dal menu a sinistra.

La pagina di configurazione di PuTTY. E’ possibile anche impostare diversi parametri, come il tipo di carattere e la dimensione, dal menu a sinistra.

Se il server SSH è stato attivato e l’IP è corretto, ci verrà richiesto il login, proprio come se stessimo usando direttamente una tastiera e un monitor collegati al Pi.

Il server SSH funziona e siamo entrati usando PuTTY.

Il server SSH funziona e siamo entrati usando PuTTY.

Sotto Linux o Mac OSX basta aprire un terminale e digitare il comando

ssh pi@192.168.0.9

sostituendo l’indirizzo 192.168.0.9 con l’IP del Pi trovato prima con ifconfig. La parte prima del segno @ indica con quale username si richiede di accedere al server SSH, in questo caso è l’unico utente pi preconfigurato su Raspbian.

Il login via SSH usando Terminale sotto Mac OSX.

Il login via SSH usando Terminale sotto Mac OSX.

Una volta controllato che il server SSH sia attivato e si riesca a fare il login remoto, se vogliamo possiamo scollegare tastiera e monitor HDMI. In questi casi è sempre meglio prima spegnere il Raspberry nel modo più corretto, ovvero con il comando (dove -h sta per halt, a differenza di prima quando abbiamo usato -r per indicargli di eseguire un reboot)

pi@raspberry ~ $ sudo shutdown -h now

Perderemo quasi subito la connessione al server SSH, poi dopo qualche secondo in cui il sistema operativo esegue lo shutdown il Pi rimarrà con la sola lucina rossa PWR accesa. A questo punto il sistema è spento, e possiamo procedere a scollegare i cavi. Per riaccenderlo, l’unico modo che ho trovato finora è quello di staccare la microUSB e ricollegarla. Dopo la fase di avvio di Raspbian, dovremmo essere di nuovo in grado di ricollegarci via SSH ed effettuare il login.

A questo punto, dovremmo avere una installazione di Raspbian correttamente funzionante, su cui abbiamo effettuato la configurazione di base per potervi accedere anche da remoto, senza tastiera o monitor collegati al Pi. Nel prossimo post, vedremo come collegare un disco USB esterno, formattandolo e rendendolo utilizzabile dal sistema.

Photo credit: mindwhisperings / Foter / CC BY-NC

6 thoughts on “Primi passi con Raspbian

  1. Pingback: Collegare un hard disk esterno al Pi | vemp.org

  2. Pingback: Un jukebox casalingo con Raspberry Pi e mpd | vemp.org

  3. Pingback: Un jukebox casalingo con Raspberry Pi e mpd (parte 1) | vemp.org

  4. Pingback: Scaricare file torrent con Raspberry Pi e Transmission | vemp.org

  5. Alberto

    Mi sono imbattuto per caso su questo sito e… complimenti!
    Guide molto semplici, dettagliate e precise!

    Mi piacerebbe che continuassi con argomenti di cui parli, tipo SAMBA, FTP e magari NFS
    In giro le guide si sprecano, ma la pulizia di queste pagine e i passaggi chiari e semplici che illustri, rendono le tue indicazioni veramente al TOP!

    Reply
  6. Francesco

    Mi associo a quanto scritto da Alberto…. Ti sarei grato continuassi con le tue guide, sono veramente ben fatte!!!

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *