Raspberry PI-Rasbian-Senza Monitor

Da raspibo.
Versione del 24 feb 2013 alle 13:58 di Renzo (discussione | contributi)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Jump to navigation Jump to search

E' possibile installare Raspian senza fare uso del monitor (per cosi' dire al buio).

Queste istruzioni suppongono che voi abbiate un personal computer (laptop) con S.O. GNU-Linux. Se avete altri sistemi operativi... siamo dispiaciuti per voi. Potete ancora redimervi. Installate GNU-Linux sul vostro PC e poi tornate qui.

Le istruzioni fanno riferimento al caso che il portatile usi una distribuzione Debian o derivati (Ubuntu, Mint,...). Funziona tutto anche con altre distribuzioni ma possono essere necessarie alcune modifiche alla sintassi dei comandi (ad esempio apt-get dovra' essere sostituito col comando di installazione corrispondente).

Passo 1: Create una SD Card con la versione corrente di Raspian come descritto qui. Non fare boot perche' non vedreste nulla.... non c'e' il monitor!

Passo 2: togliete la SD card dal lettore e... reinseritela. Se avete una distribuzione tutta bella con le iconcine vi compaiono sul desktop due nuove icone (vuole dire che e' stato fatto il mount automatico). Se non succede nulla o siete duri e puri con sistemi operativi con la shell di testo...

Passo 2a: trovate a quale device corrisponde la SD card (per esempio nel mio caso e' /dev/sdd, ma in altri sistemi puo' essere /dev/sdb o altro). Se avete dubbi guardate le ultime righe del file /var/log/syslog subito dopo aver inserito la sd card. (syslog si legge come root, occorre sudarlo ;-) per esempio:

laptop$ sudo tail -100 /var/log/syslog

Passo 2b: montate la seconda partizione del disco SD (dovete essere root)

laptop$ sudo bash

laptop# mount /dev/sdd2 /mnt

(ovviamente sdd2 e' per me, voi mettete il device del vostra scheda SD)

Passo 3: Mettete un indirizzo IP fisso per il vostro Raspberry PI. Per farlo dovete editare il file /mnt/etc/network/interfaces (tutto cio' che ora compare nell'albero con radice /mnt sara' il root file system del Raspberry PI.

Editate il file col vostro editor preferito (gedit, vi, emacs) in modo che il contenuto diventi piu' o meno questo:

auto lo

iface lo inet loopback
#iface eth0 inet dhcp
auto eth0
iface eth0 inet static
        address 192.168.44.2
        netmask 255.255.255.0
        network 192.168.44.0
        gateway 192.168.44.1
        dns-nameservers 8.8.8.8

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

occorre cioe' commentare la riga del dhcp per eth0 ed aggiungere le righe per dare al nostro raspberry pi l'indirizzo fisso 192.168.44.2

Passo 4: smontare la schedina SD:

laptop# umount /dev/sdd

passo 5: Togliere la schedina dal lettore e metterla nell'apposito alloggiamento del raspberry pi. Attaccare un cavo di rete diretto fra il Raspberry pi e il proprio portatile/PC

configurare la propria scheda di rete perche' abbia l'indirizzo 192.168.44.1/24. (se non avete il comando ip potete installarlo con sudo apt-get install iproute). Magari esistono anche belle finestrelle dove mettere la configurazione... se volete usare i buoni vecchi comandi, aprite un terminale come root (o fate sudo bash) e sul PC/laptop fornite i seguenti comandi:

laptop# ip link set eth0 up
laptop# ip addr add 192.168.44.1/24 dev eth0

tenete aperta la finestra di root ed attaccate il cavetto di alimentazione al Raspberry PI ... attendete se tutto va bene il vostro RasPI dopo un po' rispondera' ai Ping.

laptop# ping 192.168.44.2
PING 192.168.44.2 (192.168.44.2) 56(84) bytes of data.
64 bytes from 192.168.44.2: icmp_req=1 ttl=64 time=0.529 ms
64 bytes from 192.168.44.2: icmp_req=2 ttl=64 time=0.464 ms
^C

Ora dovete provare a collegarvi con ssh

laptop$ ssh pi@192.168.44.2
The authenticity of host '192.168.44.2 (192.168.44.2)' can't be established.
ECDSA key fingerprint is 11:53:72:98:28:11:37:b5:ce:ca:d4:7d:11:9a:7d:53.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.44.2' (ECDSA) to the list of known hosts.
pi@192.168.44.2's password: 
Linux raspberrypi 3.6.11+ #371 PREEMPT Thu Feb 7 16:31:35 GMT 2013 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

NOTICE: the software on this Raspberry Pi has not been fully configured. Please run 'sudo raspi-config'

pi@raspberrypi ~ $

Perfetto ora avete il vostro Raspberry PI sotto controllo ed e' funzionante! Vi consiglio di fare sudo raspi-config come proposto.

Non vedete l'interfaccia grafica? Embe', mica vi avevo detto che avrebbe funzionato con l'interfaccia grafica.

Per quella occorre attendere la prossima puntata.

Attivare l'interfaccia grafica per il Raspberry senza video

Collegate il vostro portatile alla rete wi-fi. (Nella sala della Casa della Pace vi collegherete alla rete RASPI).

Guardate come si chiama l'interfaccia wi-fi nel vostro sistema io lo faccio col comando ip addr

$ ip addr
...
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:01:02:03:04:05 brd ff:ff:ff:ff:ff:ff
    inet 192.168.42.94/24 brd 192.168.42.255 scope global wlan0

spesso si chiama wlan0, ma potrebbe avere altri nomi.

A questo punto dovete attivare l'intradamento

sudo echo "1" > /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

Ora potete collegarvi via ssh al Raspberry PI e provare con un ping che tutto funzioni.

pi@raspberrypi ~ $ ping 192.168.44.1
ping 192.168.44.1
PING 192.168.44.1 (192.168.44.1) 56(84) bytes of data.
64 bytes from 192.168.44.1: icmp_req=1 ttl=64 time=0.080 ms
64 bytes from 192.168.44.1: icmp_req=2 ttl=64 time=0.067 ms
64 bytes from 192.168.44.1: icmp_req=3 ttl=64 time=0.066 ms
^C
--- 192.168.44.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
pi@raspberrypi ~ $ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=1 ttl=50 time=23.8 ms
64 bytes from 8.8.8.8: icmp_req=2 ttl=50 time=23.8 ms
64 bytes from 8.8.8.8: icmp_req=3 ttl=50 time=23.8 ms
^C
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 23.808/23.843/23.867/0.025 ms

8.8.8.8 e' un famoso name server, E' un indirizzo utile e facile da ricordare per vedere se il mondo e' raggiungibile.

Se siete collegati ad Internet e non volete configurare software specifico per dare indirizzi dinamici e fare forwarding del DNS. Se il vostro Raspberry PI non e' stato configurato precedentemente per funzionare su una rete locale probabilmente nel file /etc/resolv.conf e' configurato proprio 8.8.8.8, altrimenti potete cambiare il file /etc/resolv.conf con un editor in modo che contenga una sola riga con questo comando

pi@raspberrypi ~ $ sudo sh -c "echo 'nameserver 8.8.8.8' >> /etc/resolv.conf"

A questo punto il vostro Raspberry PI e' collegato col mondo e puo' usare gli indirizzi simbolici. Potete quindi usare apt-get per installare il software sul raspberry stesso e quindi potete installare il VNC server che potrete utilizzare per comandare il Raspberry PI con l'interfaccia grafica dal Laptop.

pi@raspberrypi ~ $ sudo apt-get install tightvncserver

Nel portatile dovete avere installato un vnc viewer, per esempio xvncviewer. Se non c'e' gia' potete installare:

laptop$ sudo apt-get install xtightvncviewer

In alternativa potete considerare vinagre o remmina.

Ora sul Raspberry lanciate il server vnc:

pi@raspberrypi ~ $ vncserver

Alla prima attivazione vi chiedera' di mettere una password.

Sul portatile lanciate il client:

laptop$ xvncviewer 192.168.44.2:1

Chiedera' la password, dovrebbe comparire l'interfaccia grafica del Raspberry PI e avete cosi' positivamente completato questa procedura.


(NdR, R significa Renzo: Queste istruzioni le ho scritte un po' a memoria, non le ho debuggate. Se qualcuno le applica please aggiorni i comandi se non ho ricordato correttamente qualche dettaglio).

Altre istruzioni per usare vnc sono qui