Come installare e configurare Raspbian in modalità “headless”

5 minuti di lettura
SCOPI DELLA GUIDA:
  • Come configurare Raspbian (per uso su Raspberry Pi o similari) in modalità “headless“, ovvero in modo da poterlo controllare da subito tramite altro computer, senza ausilio di tastiera, mouse e video previsti per la prima configurazione
  • Livello di difficoltà: basso
CONCETTI AFFRONTATI:
  • Configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
DISPOSITIVI FISICI UTILIZZATI:
  • un Raspberry Pi e relativo alimentatore
  • un computer di supporto
  • un cavo ethernet (opzionale)
  • un disco esterno USB (opzionale)
  • una chiavetta storage UBS (opzionale)
GUIDA MAGGIORMENTE INDICATA PER:

Tutti gli ambienti

Note e disclaimer
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata ed realizzata SOLO da personale qualificato;
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno puro scopo didattico);
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere garanzia, omologazioni e certificazioni di qualità.
Revisione guida: 1.5

Raspbian è un sistema operativo Open Source basato su Linux Debian e concepito appositamente per micro/mini-computer basati su tecnologie ARM, ad esempio i nostri amati Raspberry Pi.

Tale sistema operativo, quando installato sul supporto di memorizzazione scelto (solitamente, almeno nel caso di Raspberry, una scheda microSD), prevede una prima configurazione di primo avvio la quale solitamente (sopratutto per l’uso in domotica) include la configurazione del servizio SSH e VNC, nonché delle impostazioni di rete Wi-Fi. Tale configurazione solitamente viene effettuata tramite l’utilizzo di una tastiera, un mouse e un video.

Per evitare di dover utilizzare queste periferiche (che per lo più vengono utilizzate, in questo scenario, solo per questa operazione) è possibile attuare una procedura denominata “headless“, la quale permette di configurare Raspbian in modo di avere, al primo avvio, le “coordinate di accesso” Wi-Fi nonché i servizi SSH e VNC già in esecuzione.

Questo permette di avviare Raspbian e controllarlo direttamente da un altro computer di appoggio tramite SSH e/o VNC.

Si parte

Installare Raspbian

Per installare Raspbian sul supporto microSD o hard disk esterno (per questo secondo caso, leggi le considerazioni in merito al suo uso) le procedure variano in base al computer a disposizione come supporto.

In primis è necessario però scaricare il sistema operativo stesso da Internet. I link sono i seguenti:

L’elenco completo di immagini di sistema operativo ufficiali per Raspberry è disponibile qui.

N.b. La presente guida descrive come installare e configurare Raspbian, ma la procedura (almeno quella di installazione) è la medesima per qualsiasi altra distribuzione adatta a Raspberry Pi (eg. Home Assistant HASSIO, Retropie eccetera) distribuita su immagine a singolo file.

Procedura WINDOWS

  • scaricare e installare il software Etcher da etcher.io sul computer di supporto;
  • collegare la microSD (o il supporto scelto) al computer di supporto;
  • eseguire Etcher  sul computer di supporto;
  • selezionare l’immagine di Raspbian precedentemente scaricata;
  • selezionare la microSD;
  • cliccare “Burn” per installare l’immagine Raspbian sulla microSD;
  • attendere il completamento del task.
Il software Etcher

Procedura MAC

con ETCHER

  • scaricare e installare il software Etcher da etcher.io sul computer di supporto;
  • collegare la microSD (o il supporto scelto) al computer di supporto;
  • eseguire Etcher sul computer di supporto;
  • selezionare l’immagine di Raspbian precedentemente scaricata;
  • selezionare la microSD;
  • cliccare “Burn” per installare l’immagine Raspbian sulla microSD;
  • attendere il completamento del task.
Il software Etcher

con TERMINAL (per chi ha dimestichezza con la riga comando)

  • collegare la microSD (o il supporto scelto) al computer;
  • eseguire Terminal;
  • da Terminal, eseguire:
diskutil list
per identificare il disco (NON la partizione), e.g. disk4 e non disk4s1
  • smontare il disco col comando
diskutil unmountDisk /dev/diskX
dove X indica il disco precedentemente identificato e.g. diskutil unmountDisk /dev/disk4
  • effettuare l’installazione dell’immagine tramite il comando
sudo dd bs=1m if=image.img of=/dev/rdiskX conv=sync
dove X indica il disco precedentemente identificato  e dove image.img è l’immagine da copiare e disk# è il disco precedentemente identificato (quindi la microSD), per esempio:
sudo dd bs=1m if=2018-04-18-raspbian-stretch.img of=/dev/rdisk4 conv=sync

Procedura Linux

Anche per linux è disponibile Etcher (medesima sequenza descritta sopra) oppure è possibile utilizzare la CLI. In questo caso, analogamente alla procedura Mac, è sufficiente identificare il disco (la microSD o il supporto scelto) da disconnettere tramite il comando
lsblk
dopodiché è sufficiente utilizzare il comando
dd bs=4M if=image.img of=/dev/sdX conv=fsync
dove image.img è l’immagine da copiare e sdX è il disco precedentemente identificato (quindi la microSD)
Maggiori informazioni sulla procedura Linux sono disponibili qui.

Configurare SSH

A questo punto è necessario attivare la funzionalità SSH Server di Raspbian per darci modo di collegarci dal nostro computer di appoggio al Raspberry senza la necessità, invece, di usare una tastiera, un mouse e un display collegati al Raspberry per iniziare ad usarlo.

Per far ciò è sufficiente creare un file chiamato “ssh” (senza alcuna estensione né contenuto) e copiarlo all’interno della partizione “boot” presente sulla microSD appena configurata. Nient’altro.

N.b. Per effettuare questa azione è necessario utilizzare un computer Windows o comunque un computer in grado di accedere alla partizione.

ERRORI COMUNI

Spesso e volentieri capita:

  • quando, come computer di supporto, si usa Windows, capita di disconnettere fisicamente l’adattatore USB/microSD senza prima cliccare su “disconnetti unità”, cosa che talvolta causa la mancata scrittura del file “wpa_supplicant.conf” e del file “ssh” sulla root della microSD. Ricordarsi di cliccare sempre “disconnetti unità” prima di rimuovere l’adattatore.

Configurare l’accesso Wi-Fi

Se non si vuoi cablare il Raspberry alla rete domestica via cavo Ethernet è possibile istruire il sistema operativo Raspbian appena installato sulla microSD (o sul disco esterno) al fine di collegarsi automaticamente alla Wi-Fi al primo avvio.

Per far questo, analogamente al paragrafo precedente, è necessario creare dentro la partizione “boot” – tramite un editor di testo qualunque – un file chiamato “wpa_supplicant.conf” contenente la seguente configurazione:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={
    ssid="YOUR_NETWORK_NAME"
    psk="YOUR_PASSWORD"
    key_mgmt=WPA-PSK
}

dove nei capi “ssid” e “psk” andranno rispettivamente riportati il nome della propria Wi-Fi e la relativa password d’accesso.

ERRORI COMUNI

Spesso e volentieri capita:

  • quando, come computer di supporto, si usa Windows, ci si sbaglia a definire il file “wpa_supplicant.conf” che in realtà contiene anche l’estensione .txt (“wpa_supplicant.conf.txt“) ma che non viene visualizzata. Accertarsi di avere visualizzata l’estensione dei file di tipo conosciuto e quindi accertarsi che il file si chiami, effettivamente “wpa_supplicant.conf“.

Prima accensione

Collegare, tramite il cavo ethernet, la porta di rete del Raspberry direttamente al router di casa al quale anche il computer di supporto è collegato (via cavo o Wi-Fi). Se invece si è provveduto a configurare a monte l’accesso al Wi-Fi, saltare questo passo specifico.

Inserita la microSD nell’apposito slot (o collegato il disco esterno via USB), sarà ora possibile accendere Raspberry Pi agendo sull’interruttore posto sul cavo di alimentazione o, in assenza, collegando l’alimentazione sull’unità stessa.

Al termine del boot (pochi secondi) sarà possibile collegarsi via SSH dal computer di supporto al nostro micro-computer, come spiegato in questa guida.

N.b. La password di default per l’utente pi è “raspberry“.

Una volta collegati, utilizzando il comando:

sudo raspi-config

sarà possibile configurare tutte le impostazioni di base dell’unità (localizzazione, lingua – che consigliamo comunque sempre in inglese – eventuali periferiche ed altro).

Prima configurazione

Giunti sin qui, il nostro Raspberry è pienamente operativo con sistema operativo Raspbian ed è quindi pronto all’uso. Ovviamente, come qualsiasi computer, dopo il primo avvio esso prevede la configurazione di cose elementari ma importati come la collocazione geografica, la lingua, l’orario e altre cose.

Per provvedere, si consiglia di seguire la seguente, breve guida:

Le prime cose da fare dopo aver installato Raspberry con Raspbian

canale telegram inDomus