Tutorial →
Il taccuino → Raspberry → Raspbian

Una parte del contenuto è obsoleto

Come qualunque computer, Raspberry Pi necessita per funzionare di un sistema
operativo. Se siamo interessati ad usare Raspberry Pi OS, in
precedenza noto come Raspbian, sono disponibili diverse
strade:
- [Rimosso] NOOBS, un installer che permette di installare e configurare
facilmente Raspbian.
- [Rimosso] NOOBS lite, un installer che permette di scaricare, installare e
configurare facilmente Raspbian ed anche altri sistemi operativi.
Richiede la connessione ad internet
- Raspberry Pi Imager, disponibile per Windows, macOS e
Ubuntu
- Immagine di Raspberry Pi OS con interfaccia grafica, in
varie versioni
- Immagine di Raspberry Pi OS Lite, ideale per SD di piccole
dimensioni e quella preferibile se non siete interessati all'interfaccia
grafica, comunque installabile in un secondo momento
Tutti i file necessari sono disponibili sul sito ufficiale:
https://www.raspberrypi.org/downloads,
come anche le indicazioni dettagliate, che si consiglia di leggere.
Sul sito ufficiale trovate anche le immagini per sistemi operativi
dedicati alla realizzazione di mediacenter (OpenELEC, OSMC) oppure sistemi
stravaganti, come RISC OS oppure Windows 10 IoT core (quest'ultimo solo se avete Raspberry Pi 2
o 3).
Un consiglio: utilizzate una (micro) SD veloce oppure un
SSD USB
Installazione
Le procedure di seguito descritte sono relative alla versione ufficiale
di Raspberry Pi OS Buster disponibile dal luglio 2019, ma non dovrebbero esserci
differenze significative con altre versioni.
Installare con Raspberry Pi Imager
A differenza di quanto scritto sul sito ufficiale NON
consiglio questo metodo, meglio installare direttamente l'immagine.
Installare con NOOBS
Questo paragrafo è obsoleto.
A differenza di quanto era scritto sul sito ufficiale NON
consiglio questo metodo, meglio installare direttamente l'immagine.
Questo meccanismo è pensato per rendere semplice l'installazione di
Raspbian; ha il difetto di essere piuttosto lento. Occorre disporre di una scheda (micro) SD di almeno 4 GB e
del
relativo lettore per PC, di un monitor HDMI, di una tastiera e un mouse USB.
Per l'aggiornamento e l'accesso remoto potrebbe servire una connessione
ethernet. Qui la descrizione estesa:
https://www.raspberrypi.org/help/noobs-setup. (nota 1)
La procedura è la seguente:
- Scaricare NOOBS (oppure NOOBS lite) ed estrarre tutti i file
- Utilizzando una qualunque PC, formattare la scheda SD come FAT32
- Copiare tutti i file contenuti nel file NOOBS_xx.zip sulla scheda
SD. Sono circa 20 tra file e directory, circa 1 GB di dati.
- Smontare la scheda SD ed inserirla nel Raspberry Pi
- Collegare al Raspberry Pi monitor, tastiera e mouse, cavo di rete
- Dopo l'accensione basta seguire le indicazioni. Il tempo richiesto
varia tra 20 e 40 minuti, in relazione alla velocità della scheda SD.
- Dopo il riavvio, parte immediatamente l'interfaccia grafica
- La configurazione può essere effettuata come
di seguito mostrato.
Installare direttamente l'immagine
Personalmente è la strada che preferisco, per diverse ragioni:
- è più veloce, bastano un paio di minuti
- utilizzabile per un uso headless, cioè senza monitor/tastiera/mouse,
usando fin dall'inizio ssh
- indispensabile per SD di
soli 2 GB (nota
5). Ovviamente è necessario scegliere la
versione Lite (cioè senza interfaccia grafica).
Qui sotto il procedimento semplificato. Per la descrizione estesa il
riferimento è al sito ufficiale:
www.raspberrypi.org/software/operating-systems
- Scaricare l'immagine di Raspberry Pi OS, in una delle versioni con with desktop oppure
Lite
- Estrarre l'unico file .img contenuto nel file compresso
- Inserire la SD oppure il disco USB in un lettore collegato ad un PC.
- [Se avete installato una distribuzione Linux decente con
Gnome] Fate doppio click sul file .img,
selezionare la scheda SD e premere invio. Per questa operazione occorre
conoscere la password di root oppure essere
membri del gruppo sudo. Il
tempo impiegato è di 2-3 minuti (per la versione Lite), in
funzione della velocità della SD. (
nota 2)
- [Se avete installato una generica distribuzione Linux]
Questa procedura dovrebbe funzionare senza troppe modifiche
anche con MAC OS (non testato).
- Individuare il nome della scheda SD inserita, qualcosa del tipo
/dev/mmcblk0, per esempio con uno dei tre comandi
iostat oppure df oppure
ls:
vv@vv-15rse:~$ df -h
[...]
/dev/mmcblk0p5 30M 398K 28M 2% /media/vv/SETTINGS
/dev/mmcblk0p7 6,0G 3,3G 2,5G 58% /media/vv/root
vv@vv-15rse:~$ iostat
Linux 3.16.0-4-amd64 (vv-15rse) 05/01/2016 _x86_64_ (8 CPU)
[...]
sda 21,50 349,45 348,96 1648760 1646437
mmcblk0 0,82 3,00 301,91 14174 1424430
vv@vv-15rse:~$ ls -l /dev/mm*
brw-rw---- 1 root disk 179, 0 gen 5 08:31 /dev/mmcblk0
brw-rw---- 1 root disk 179, 1 gen 5 08:31 /dev/mmcblk0p1
[...]
Attenzione al fatto che serve il nome del dispositivo, non della
partizione: in pratica occorre togliere la parte finale del nome
(nell'esempio: /dev/mmcblk0, non
/dev/mmcblk0p1)
- Come utente root, copiare l'immagine sulla SD, operazione che
richiede 2-3 minuti per la versione Lite, qualcosa più del doppio per quella con GUI.
(
nota 2):
root@vv-15rse:~# dd bs=4M
if=2016-05-27-raspbian-jessie-lite.img of=/dev/mmcblk0
root@vv-15rse:~# sync
- [Se avete installato Windows in una qualunque versione] Per Windows è necessario scaricare ed installare software
aggiuntivo, come descritto sul sito ufficiale (non testato).
- Se volete attivare il server ssh al boot, occorre creare nella
partizione /boot della SD un file vuoto e
senza estensione di nome ssh:
vv@vv-i7-buster:~$ touch /media/IL_TUO_USERNAME/boot/ssh
Qui i dettagli.
-
Questo paragrafo è obsoleto. Se volete attivare la scheda WiFi (ovviamente se fisicamente presente...) fin
dal primo boot, occorre creare, sempre nella partizione
boot della SD, il file:
vv@vv-i7-buster:~$ nano /media/IL_TUO_USERNAME/boot/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=IT
network={
ssid="xyz"
psk="XYZ"
}
- Se siete interessati a qualche altra modifica, potete montare la
partizione root della SD e modificare i file relativi
(come root) oppure leggere la pagina
https://www.raspberrypi.org/documentation/configuration/config-txt
- Inserite la scheda SD nel Raspberry Pi. Al boot il sistema è già
disponibile.
Dischi USB
A partire da Raspberry PI 4 (nota 6) è possibile
installare il sistema operativo anche su un disco USB, meccanico o SSD.
Due i vantaggi:
- Spesso il sistema è (molto) più veloce, soprattutto se usate un SSD
USB3
- Un disco è enormemente più resistente di una SD alle continue
scritture e spesso questa è l'unica soluzione che permette di utilizzare
RPi come server acceso 24/7/365 per ospitare database e simili
applicazioni che scrivono molto su disco
Gli svantaggi sono evidenti: costo ed ingombro...
La procedura è identica a quanto appena descritto,
basta scrivere l'immagine sul disco USB e collegarlo al RPi senza usare
alcuna micro SD.
Due aspetti da tenere presenti:
- Serve una versione del firmware EEPROM del RPi successiva al settembre 2020.
Nessun problema: basta preventivamene inserire nel RPi una SD con
Raspberry Pi OS aggiornato, procedere ad un nuovo aggiornamento e riavviare:
pi@rpi-vv:~ $ sudo apt update
pi@rpi-vv:~ $ sudo apt upgrade
pi@rpi-vv:~ $ sudo reboot
- Nel caso di USB3 serve un adattatore compatibile, ovviamente aspetto
non sempre ben documentato. Nel caso di non compatibilità è possibile a
volte risolvere disattivando UAS, come descritto qui sotto.
Disattivare UAS
UAS permette un significativo aumento di prestazioni del disco, ma a
volta causa problemi importanti con RPi. I due tipici sintomi sono:
- Durante il boot, blocco di diversi secondi in punti casuali delle
fasi iniziali, senza che ci siano problemi nella configurazione
- Durante l'uso, interruzione di diversi secondi nell'uso del disco
Questi problemi spariscono collegando lo stesso disco ad una porta USB2,
pagando ovviamente in perdita di prestazioni, anche di un fattore 10 usando
un SSD.
Una soluzione parziale consiste nel disattivare selettivamente UAS per i
dispositivi non compatibili, scrivendo il quirk adatto.
Io possiedo per esempio in adattatore USB3-SATA JMicron non compatibile:
pi@raspberrypi:~ $ lsusb
Bus 002 Device 002: ID 152d:0562 JMicron
Technology Corp. / JMicron USA Technology Corp.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Per disattivare UAS occorre modificare il file
cmdline.txt aggiungendo quanto di seguito evidenziato, ovviamente da adattare
alla proprio configurazione, e riavviare:
pi@raspberrypi:~ $ sudo nano /boot/cmdline.txt
usb-storage.quirks=152d:0562:u console=tty1
roo...
pi@raspberrypi:~ $ sudo reboot
pi@raspberrypi:~ $ sudo cat /var/log/messages | grep UAS
usb 2-1: UAS is blacklisted for this device, using usb-storage instead
Il calo di prestazioni, nel caso di SSD, è significativo. Ecco il "prima"
ed il "dopo"
pi@raspberrypi:~ $ sudo hdparm -tv /dev/sda2
[...]
Timing buffered disk reads: 1136 MB in 3.00 seconds = 378.06 MB/sec
pi@raspberrypi:~ $ sudo hdparm -tv /dev/sda2
[...]
Timing buffered disk reads: 878 MB in 3.00 seconds = 292.35 MB/sec
Configurazione
L'unico utente presente dopo l'installazione è pi,
con password raspberry. Per chi ama linux
classico: non è utilizzabile l'utente root
e occorre usare sudo (oppure impostare la password di
root).
Prima configurazione
La configurazione di Raspberry può essere fatta con gli ordinari
strumenti Linux, ma è particolarmente comodo l'uso dello strumento Raspberry Pi
Configuration, disponibile sia con interfaccia grafica (GUI) che
testuale (CLI):
- All'interno della GUI: Menu → Preferenze → Raspberry Pi Configuration
- Dall'interfaccia testuale:
pi@rpi-vv:~ $ sudo raspi-config
Tra le opzioni che è bene impostare fin da subito, cercandole tra le
molte disponibili anche nella sezione Advanced (nota
3):
- Scegliere un hostname significativo, utile per individuare
facilmente il proprio Raspberry Pi in una rete di grandi dimensioni.
Questa operazione è assolutamente prioritaria se nella
vostra rete avete più di un Raspberry, per esempio in un laboratorio
scolastico
- Scegliere una password non banale
- (se avete usato l'installazione tramite immagine) Espandere il
file-system per poter utilizzare tutta la scheda SD. Nelle versioni
recenti, questa operazione è fatta automaticamente al primo boot
- (opzionale) Scegliere la lingua preferita, per esempio
it_IT.UTF-8 UTF-8 nella sezione
Locales
- (opzionale) Impostare il boot senza interfaccia grafica. Se si desidera attivare
la GUI è sempre possibile digitare, se installata:
pi@rpi-vv:~ $ sudo startx
- (opzionale) Disattivare il login automatico
- (opzionale) Creare altri utenti
- (opzionale) Attivare il server SSH (se già non lo è)
- (opzionale) Attivare le interfacce I2C, SPI, 1-Wire
- (opzionale) Disattivare la console seriale
- (opzionale) Diminuire al minimo la memoria assegnata alla GPU, cosa
particolarmente furba se si userà il Raspberry Pi senza monitor
collegato (head-less)
Dopo le modifiche serve un reboot:
pi@rpi-vv:~ $ sudo reboot
Tutte le operazioni sono effettuabili anche in remoto, utilizzando un
normale PC ed un client SSH. Questo permette di usare una macchina veloce e
non sacrificare un monitor all'uso esclusivo del Raspberry Pi.
Qui alcuni consigli.
Aggiornamento
Come qualunque sistema operativo, anche Raspbian deve essere regolarmente
aggiornato (nota 4). Consiglio di utilizzare gli strumenti testuali (anche se sono
disponibili quelli grafici):
pi@rpi-vv:~ $ sudo apt update
pi@rpi-vv:~ $ sudo apt upgrade
Se la vostra rete si collega ad internet tramite un server proxy, è
necessario creare un file contenente una sola riga:
pi@rpi-vv:~ $ sudo nano /etc/apt/apt.conf.d/30proxy
Acquire::http::Proxy "http://YOURPROXY.YOURDOMAIN:3128";
Alcuni pacchetti da installare e configurazioni manuali
Per prevenire alcuni noiosi messaggi all'avvio di applicazioni grafiche
da remoto (Gtk-Message: Failed to load module "canberra-gtk-module")
è possibile installare la relativa libreria:
pi@rpi-vv:~ $ sudo aptitude install libcanberra-gtk-module
Io mi trovo bene aggiungendo (o togliendo i # presenti) alcuni alias:
pi@rpi-vv:~ $ nano ~/.bashrc
alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
vv@vv-15rse-2:~$ source ~/.bashrc
- Se la vostra rete utilizza un proxy server per l'accesso a internet,
usando NOOBS è necessario non collegare il cavo
di rete durante l'installazione, pena in blocco non recuperabile della
procedura
Questa operazione è distruttiva per tutto il contenuti della SD. E se
sbagliate ad indicare il device, rischiate di cancellare il vostro intero
disco fisso
- Ovviamente sono tutte o quasi opzioni modificabili anche in un
secondo momento, perlomeno quelle indicate come opzionali
- L'operazione potrebbe essere molto lunga, soprattutto se avete una
SD non particolarmente veloce oppure è molto tempo che non viene fatto
un aggiornamento
- Alcune versioni di Raspbian Buster non sono compatibili con le SD da
2 GB e richiedono come minimo supporti da 4 GB
- L'uso di un disco USB è possibile, con alcuni vincoli, anche con
alcune delle versioni precedenti, ma non ho esperienze dirette
Pagina creata nel gennaio 2016
Ultima modifica di questa pagina: 19 dicembre 2020