Installazione Headless di Raspbian su Raspberry Pi

Installazione headless di raspbianCome abbiamo visto nel precente articolo, il single board computer Raspberry Pi 3 è dotato di connettività Ethernet (10/100 MBps) e WiFi (b/g/n), oltre che di interfaccia video (HDMI e composita) e 4 porte USB2. L’installazione del sistema operativo, normalmente, può essere effettuata con monitor, tastiera e mouse, come un normale pc. In questo articolo, invece, andremo ad effettuare l’installazione headless di Raspbian, ovvero senza utilizzare tastiera, mouse e monitor connessi direttamente al single board computer.

Questo sistema operativo, nello specifico Raspbian Stretch è stato rilasciato da Raspberry Pi Foundation il 29 Novembre 2017, al momento la versione più recente. Questo è il link alla pagina di download.

Perchè effettuare l’installazione headless di Raspbian

Molto spesso, non abbiamo la necessità di utilizzare il Raspberry Pi come un pc, ma piùttosto come web server (ad esempio per utilizzare EmonCMS in locale), gateway per i nostri dispositivi IoT, Access Point, e chi più ne ha più ne metta… Non avremmo necessità, quindi, di utilizzarlo connesso ad un monitor, tantomeno ad una tastiera ed un mouse. Quindi, perchè non utilizzare il nostro personal computer per configurare Raspberry Pi?

Andremo a vedere come connetterci tramite SSH (con Putty) per utilizzare il terminale, e la connessione remota offerta da Microsoft in tutti i pc con Windows, ovvero Remote Desktop Connection, nel caso in cui avessimo bisogno di utilizzare l’ambiente grafico.

Cosa ci occorre?

Per l’installazione headless di Raspbian abbiamo bisogno di alcuni software, comunque gratuiti, in più rispetto alla normale installazione di Raspbian. Qui ho preparato un elenco dei software che andremo ad utilizzare.

Preparazione della microSD con Raspbian

Per prima cosa è necessario scaricare l’immagine del sistema operativo, Raspbian, e copiarlo sulla microSD. La copia deve essere fatta bit a bit, quindi, è necessario utilizzare il software Win32DiskImager, che si occuperà proprio di questo.

Schermata principale di Win32DiskImager
Schermata principale di Win32DiskImager

Inseriamo la microSD nel lettore del nostro pc ed avviamo il programma Win32DiskImager scaricato precedentemente. Selezioniamo la lettera di unità corrispondente, e apriamo l’immagine di Raspbian scaricata e decopressa.

 

Win32DiskImager con immagine microSD selezionata
Win32DiskImager con immagine microSD selezionata

Siamo ora pronti a scrivere la microSD con l’immagine di Raspbian Stretch. Clicchiamo su scrivi ed attendiamo che il processo venga terminato correttamente. Prepariamoci ad attendere anche qualche decina di minuti, in base alla microSD e alla grandezza dell’immagine, che potrebbe variare in future release di Raspbian.

Win32DiskImager al 99%
Scrittura immagine al 99%

Durante la scrittura della microSD possiamo portarci avanti e preparare i file necessari per abilitare l’SSH ed eventualmente configurare la connessione WiFi, se non vogliamo o possiamo utilizzare la porta Ethernet per connetterci alla rete locale ed a internet.

 

Scrittura microSD terminata!
Scrittura microSD terminata!

 

 

 

 

 

Abilitiamo SSH

L’SSH, nelle ultime versioni di Raspbian, è disabilitato di default per motivi legati alla sicurezza, dopo gli attacchi a danno dei dispositivi connessi di Novembre 2016. Molti utenti non cambiavano la password di default del sistema ed erano potenzialmente attaccabili.

Per abilitare l’SSH, è necessario copiare un file vuoto nominato ssh nella root della partizione boot della microSD che abbiamo preparato. Se volete potete scaricare il file da qui:

Oppure crearlo dal Prompt dei Comandi di Windows lanciando questo comando:

copy NUL ssh

Verrà quindi creato un file vuoto nella cartella in cui avete lanciato il comando, nel caso mostrato nello screenshot qui a fianco verrà creato sul Desktop.

Ricordati che stiamo parlando della partizione boot, non della cartella /boot nella partizione principale della microSD!

 

Configuriamo il WiFi

E’ possibile procedere con l’installazione headless di Raspbian anche tramite WiFi. Per la configurazione dell’Router/Access Point a cui andrete a connettervi è necessario creare un file, questa volta nominato wpa_supplicant.conf. Anche questo file di configurazione andrà copiato nella nella partizione boot della microSD appena creata.

E’ possibile scaricare il file qui:

Al file appena scaricato andranno sostituite le vostre credenziali con SSID e password del router/access point WiFi, come mostrato qui sotto.

Nel caso vogliate creare il file è sufficiente aprire Notepad++ e creare un nuovo file, con questo contenuto:

country=IT 
ctrl_interface=/var/run/wpa_supplicant 
GROUP=netdev
update_config=1 

network={ 
	scan_ssid=1 
	ssid="RouterName" 
	psk="Password" 
	key_mgmt=WPA-PSK
}

la stringa RouterName andrà sostituita con l’SSID della vostra rete WiFi, mentre Password con la parola di sicurezza impostata. Ora potete salvare il file e chiamarlo wpa_supplicant.conf.

Copiamo i file creati all’interno della microSD preparata

I due file preparati andranno copiati all’interno della partizione boot della microSD appena creata. Per trovare la giusta partizione apriamo l’applicazione Gestione Disco di Windows, su Windows 10 è disponibile facendo click con il tasto destro sul tasto Start. La schermata principale si presenta così.

Dobbiamo quindi trovare la nostra microSD, nel caso mostrato nello screenshot Disco 1 – boot (F:). Questa è la corretta partizione, accessibile senza problemi anche da pc Windows.

 

Come connettersi a Raspberry Pi?

Siamo quasi giunti alla fine di questa installazione headless di Raspbian. Ora dobbiamo decidere se lasciare il single board computer in modalità DHCP o assegnargli un indirizzo IP Statico.

DCHP

Se decidiamo di lasciare Raspberry Pi in modalità DHCP dovremmo prima trovare l’indirizzo IP assegnato dal Router. Per far questo è necessario utilizzare il programma Zenmap GUI, e risalire quindi al corretto indirizzo IP assegnato a Raspberry Pi dal server DHCP della rete.

Questo programma ci permette di sfruttare graficamente il comando nmap tipico dei sistemi Linux, e utilissimo per monitorare le risorse di rete di qualsiasi natura. Le impostazioni da utilizzare saranno le seguenti:

  • Obbiettivo: l’indirizzo del nostro gateway, router, seguito dalla subnet mask. Nel mio caso 192.168.1.1/24
  • Comando: nmap -sn 192.168.1.1/24. Andiamo ad utilizzare l’opzione -sn di nmap.

Clicchiamo sul bottone Scansione ed attendiamo i risultati:


In questa lista di risultati andiamo a cercare il nostro Raspberry Pi, che nel mio caso ha indirizzo IP 192.168.1.11. Ora che conosciamo l’indirizzo IP dobbiamo connetterci tramite SSH, e per questo utilizzeremo Putty.

Indirizzo IP Statico

Se, invece, abbiamo deciso di impostare un indirizzo IP Statico dobbiamo modificare un file di configurazione contenuto nella partizione EXT4. Per far questo dobbiamo disporre di un sistema Linux, oppure provare con il programma Ext2Fsd, ma le funzioni di scrittura non sono ancora del tutto stabili, quindi potrebbe corrompere il filesystem della microSD.

Una volta installato il software, lo eseguiamo con la microSD inserita. Possiamo così vedere quale è la partizione rootfs, e con quale lettera è stata montata. Nel caso mostrato nello screenshot la lettera di sistema G:.

 

Apriamo una finestra di explorer e cerchiamo le unità disco. Cerchiamo la lettera corrispondente G: e apriamo il percorso G:\etc\ e modifichiamo, con Notepad++, il file dhcpd.conf.

A questo punto non dobbiamo fare altro che aggiungere, alla fine del file, i parametri necessari.

 

 

 

 

 

Se vogliamo utilizzare il WiFi aggiungeremo:

wlan0 
interface static ip_address = 192.168.0.100 / 24 
static routers = 192.168.1.1 
static domain_name_servers = 192.168.1.1

Mentre, nel caso di connessione via cavo:

eth0 
static ip_address = 192.168.1.100 / 24 
static routers = 192.168.1.1 
static domain_name_servers = 192.168.1.1

Assicuriamoci che l’indirizzo che andiamo ad impostare non venga poi utilizzato dal server DHCP per altri dispositivi connessi.

Prima connessione SSH ed installazione headless di Raspbian

Bene, ora andiamo ad effettuare la vera installazione headless di Raspbian, ovvero andremo ad effettuare la connessione SSH dal nostro personal computer al single board computer Raspberry Pi. Il programma che andremo ad utilizzare è Putty, scelto per la semplicità di utilizzo. Esistono tantissimi altri client SSH, con più opzioni disponibili e personalizzazioni grafiche.

Configurazione di Putty

C’è ben poco da configurare nell’applicazione Putty, e soprattutto abbiamo già tutti i dati di cui abbiamo bisogno:

  • Indirizzo IP del nostro Raspberry Pi
  • Porta utilizzata da SSH: 22
  • Nome utente per l’accesso a Raspbian: pi
  • Password per l’accesso a Raspbian: raspberry

Schermata di configurazione di PuttyUna volta configurato, possiamo salvare la configurazione scrivendo il nome (nel mio caso Raspberry) e cliccando Save. All’avvio la possiamo ricaricare o, se utilizziamo Default Settings, trovarla già caricata.

Ora facciamo click su Open, per aprire la console.

Il primo avvio della connessione SSH mostrerà una finestra simile a questa:

Putty ci chiede di salvare la chiave Clicchiamo su Si per procedere ed aprire finalmente il terminale SSH ed effettuare il login.

 

 

 

Ora, se tutto è stato configurato correttamente, sarà possibile inserire le credenziali di accesso che abbiamo visto sopra.

Raspbian ci invita a cambiare la password di default, raspberry, per motivi di sicurezza.

 

 

 

Per cambiare la password scriviamo il comando sudo passwd, e scriviamo la nuova password per l’utente pi.

 

 

Siamo ora pronti ad utilizzare in remoto il nostro Raspberry Pi.

Spread the love

2 risposte a “Installazione Headless di Raspbian su Raspberry Pi”

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.