lunedì 30 marzo 2020

Modalità headless: avviare Raspberry Pi senza tastiera, mouse e display

Raspberry Pi non è un comune computer. E’ molto più piccolo, consuma molta meno energia e è più facile da collegare a dispositivi fisici del mondo reale, rispetto a un comune computer. Questo lo rende ideale per le applicazioni embedded e headless. Da Wikipedia:

Un sistema embedded (lett. “immerso” o “incorporato”, in italiano: sistema integrato), nell’informatica e nell’elettronica digitale, identifica genericamente tutti quei sistemi elettronici di elaborazione a microprocessore progettati appositamente per un determinato utilizzo (special purpose), ovvero non riprogrammabili dall’utente per altri scopi, spesso con una piattaforma hardware ad hoc, integrati nel sistema che controllano e in grado di gestirne tutte o parte delle funzionalità richieste

Un sistema integrato, dunque, non è un personal computer, non è quindi solitamente dotato dei classici dispositivi di input (tastiera, mouse) e di output (monitor).  Per la prima installazione del sistema operativo, sono solitamente richiesti, anche su Raspberry Pi. Ma a volte non li abbiamo sottomano, altre volte dobbiamo approntare un sistema che non ne necessita. Questa modalità di funzionamento, senza interfaccia grafica su cui interagire su un video, viene detta HEADLESS (senza testa). Quindi, come possiamo fare?

“In Linux, tutto è un file”

Questa è una citazione di una famosa frase di Linus Torvalds, il “papà” di Linux. E quindi, i piccoli trucchetti che adotteremo, si applicheranno grazie a dei file, che possiamo usare. Ma andiamo con ordine.

Installare il sistema operativo

Scegli il sistema operativo più adatto all’uso specifico che andrà a operare il tuo Raspberry Pi. Un sistema headless, probabilmente, non richiederà una distribuzione con desktop. Una volta trovata la distribuzione software più adatta, installala sulla SD usando il metodo del file immagine, da “masterizzare” sulla SD tramite un altro computer (Windows, Mac o Linux), dotato di un sistema per leggere e scrivere la microSD che andrà nel Raspberry Pi. Anche questa operazione, può essere fatta in più modi, scegli quello a te più comodo. Se non ne hai mai usato nessuno, sono in ordine di semplicità: il primo è il più semplice per il neofita e l’ultimo il più ostico, anche se è più veloce e diretto per l’esperto.

  • Pi Imager (link per il  download), scegli la distribuzione, sceglila SD, e il gioco è fatto
  • Scaricare l’immagine della distribuzione e metterla sulla SD con Win32DiskImager o Balena Etcher
  • Scaricare l’immagine della distribuzione e metterla sulla SD con il comando dd dal Terminale

(in questa guida non ci addentreremo nei dettagli dei tre metodi, perché già ben descritti in rete, e perché il primo è molto intuitivo).

Bene, ora avrete la vostra microSD, ancora collegata al PC, con dentro tutti i file e le partizioni necessarie a far partire il vostro Raspberry. Il Pc Windows, vi manderà degli avvisi dicendo che vi sono dei problemi su alcuni dischi che vanno riparati. NON fatelo: sono le partizioni Linux della SD, che Windows non è in grado di riconoscere correttamente. Vede normalmente solo la prima partizione, che si chiama boot. Potete aprila e vedere i file al suo interno.

File tricks

File? Abbiamo detto file? Sì. Qui possiamo attuare qualche “scorciatoia” utile, grazie a dei file:

lista file
Ecco i file contenuti nella SD

SSH

Per fare in modo che la connettività SSH sia attivata al boot, bisogna inserire nella partizione boot un file, chiamato ssh (senza estensioni), dal contenuto qualsiasi (anche vuoto). Una volta disconnessa la microSD dal PC, disinserita dal lettore, inserita nel Raspberry e dato alimentazione, il nostro Lampone riconoscerà il file, attiverà SSH e poi lo cancellerà. A questo punto, se il nostro Raspberry Pi è connesso con un cavo Ethernet alla nostra rete locale, possiamo connetterci ad esso in SSH da un altro dispositivo, per settarl oe programmarlo come vogliamo. usando tastiera, monitor e mouse del dispositivo remoto.

fonte sul sito ufficiale

Ma senza cavo? WiFi!

E se non abbiamo una connessione via cavo? Ad esempio se abbiamo Raspberry Pi Zero W? Allora, dobbiamo settare la connessione Wifi ancor prima di fare il primo avvio. E come facciamo? Sempre grazie all’aggiunta di un file. Nella partizione di boot, stavolta dovremo aggiungere anche un file di testo chiamato wpa-supplicant.conf. Il suo contenuto dovrà descrivere la rete WiFi a cui cogliamo che il Raspberry Pi si connetta. Esempio:

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

network={
ssid="LaMiaReteWiFi"
psk="LaMIaPasswordWiFi"
}

(naturalmente invece di LaMiaReteWiFi LaMIaPasswordWiFi andranno messi il nome della rete WiFi a cui ci si vuole connettere e la relativa password. Il file, come quello ssh citato sopra, va posizionato nella partizione boot, nello stesso modo indicato su, e il Raspberry, al boot, lo troverà e lo sposterà nella posizione corretta nel file system Linux, in modo che il sistema sappia trovare quella rete e connettersi ad essa. Naturalmente, perché ciò avvenga, il Raspberry deve essere nel raggio di Azione del WiFi del router.

fonte sul sito ufficiale

lista file con ssh e wpa_supplicant
Abbiamo aggiunto due file alla SD

E NOOBS?

Nei metodi di installazione elencati qui su, non è elencato NOOBS, non è una dimenticanza, resta il mio metodo di installazione preferito: oltre a permettere di scaricare e installare le distribuzioni più diffuse, consente un facile multiboot, ha integrato un editor per il file config.txt, la configurazione del WiFI, integra una recovery da cui ripartire in caso di problemi, ma.. è pensato per fare la prima installazione dal Raspberry Pi, quindi senza tastiera/mouse non si può usare. Quindi non è adatto a questo scopo. Ricordo che NOOBS non è un sistema operativo, ma un software che consente l’installazione delle più diffuse distribuzioni software. Anche qui, però.. qualche trucchetto può essere di aiuto.

Ci sarebbe un metodo che consente di installare (senza input da parte dell’utente) Raspbian: occorre modificare il file recovery.cmdline nella partizione RECOVERY aggiungendo la parola silentinstall. recovery.cmdline è un file si testo, ma quando lo salvi, fai in modo che non venga aggiunta l’estensione .txt. il file si deve chiamare sempre recovery.cmdline .
Allo stesso modo, puoi aggiungere vncinstall, che pre-installa anche VNC.

Ma, a mio parere, tutto questo ha poco senso. NOOBS è nato per installare gli OS dal Raspberry PI, quindi con tastiera e mouse. Se non ne hai disponibilità, NON usare NOOBS, e installa il sistema sulla SD, usando i metodi su descritti.

L'articolo Modalità headless: avviare Raspberry Pi senza tastiera, mouse e display sembra essere il primo su RaspberryItaly.



da RaspberryItaly https://ift.tt/2vZHF02
via Roberto Montanaro Blog

Nessun commento:

Posta un commento