Differences between revisions 2 and 10 (spanning 8 versions)
Revision 2 as of 2015-11-13 14:55:04
Size: 20045
Editor: asbesto
Comment:
Revision 10 as of 2017-04-12 12:34:43
Size: 17617
Editor: asbesto
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from Museo/Webox
Line 3: Line 4:
Template di base per pagine freaknet, con acl settate in base a FreakNetGroup. -asb

h1. Milano

Per Milano abbiamo bisogno di uno SCHEDINO che mandi dei video e degli slideshow in modo automatico, che sia affidabile, si possa riavviare, sia accessibile da remoto, stia in rete e faccia anche il caffe'.

Un primo sopralluogo e' stato fatto a Milano, ed i successivi lavori dal 4 all'8 Maggio 2015, in casa Roveda etc. :)

Questo schedino e' il RASP PI, 4 core, nuovo. Puo' benissimo essere considerato il prototipo di WeBox, ottima base di partenza.

h2. Istruzioni per riproduzione video / slideshow

*I video .mp4 vanno uploadati SOLAMENTE nella directory /home/pi/video*
*Le foto DEVONO essere uploadate SOLAMENTE nella directory /home/pi/foto*

Uno script rigenerera' la lista dei video da mandare in play, leggendo la dir. /home/pi/video e creando la lista da capo ogni tot minuti / ad ogni riavvio.

Questo vuol dire che ogni video uploadato sara' aggiunto in lista agli altri.

*Se volete mandare in play UN SOLO VIDEO, allora dovete loggarvi nello schedino rasp relativo, entrare nella dir. /home/pi/video e cancellare a manina i video indesiderati.*

h2. TODO URGENTE ASBESTO, APPUNTI

*ffprobe non esiste perche' DEBIAN MERDA, SI CHIAMA avprobe. quindi dur.sh non funziona. quindi listamp4.sh non genera le liste. PORCO DIO. cambiando ffprobe in avprobe dentro dur.sh sistema tutto. da fare con ricettina di ansible per farlo su tutti i nodi.* __


h2. CARATTERISTICHE REALI (gia' realizzate)

# Sistema basato su distro Raspbian (Debian ARM per Raspberry PI) aggiornata all'ultima release.
# Tutto standard, niente repository strani o esoterici.
# Immagine disco pronto con tutto quel che serve <3GB
# Partizione di Boot in READ-ONLY ad evitare smerdamenti del FS in caso di spegnimento brutale. Pro: non si smerda il FS ed e' molto stabile. Contro: Crontab non funziona, "at" credo non funzioni nemmeno (serve ulteriore verifica)
# Rete configurata in modo SEMPLICE tramite /etc/network/interface. Non serve NIENTE ALTRO.
# Script di autoavvio bash molto semplice. Serie di script dentro /home/pi/shells/
# Rete configurabile via ETH0 o WLAN0, cavo o wifi.
# hostname configurato automaticamente come "raspamiXX" con XX = ultima parte dell'IP della scheda wlan0 (si puo fare anche con eth0)
# Schedine USB wifi gia' configurate per funzionare bene con il loro firmware gia' installato e pronto.
# Implementa un wifi scanner per capire cosa il raspberry sente attorno a se.
# Screensaver e screen blanking disabilitati
# Sistema automatico di controllo rete: se si sente "disconnesso" riavvia la rete (e non il raspberry!) ricollegandosi, facendo il controllo ogni 2 minuti.
# Accesso tramite VPN, automatico e con autocontrollo: se manca rete, quando torna, la VPN torna su senza problemi. Con mosh la connessione non cade *MAI*!
# Accesso grafico tramite VNC stile teamviewer sempre tramite VPN ;)
# Chromium installato per navigare / configurare apparati via vnc/vpn
# ansible installato e pronto all'uso
# ricette ansible per modificare automaticamente tutti i rasp in rete
# pennini wifi senza il maledetto power saving: connessione finalmente stabile! (HACK)

h2. CARATTERISTICHE DESIDERATE / IN LAVORAZIONE O STUDIO

-* underclock sistema? non necessario al momento, non serve a un cazzo-
* VPN gestita interamente dai nostri server (zaverio.com) (voyanet cmq e' affidabile ed io sono root su una macchina apposita, quindi non so quanto questo sia necessario)
* Mplayer accelerato per rasp pi: fare check su quei 2 link che sono spariti
* Test su programma in PYTHON per controllare OMXPlayer, che PARE usi addirittura OSC per fare solo POCHE cose.
* Check telecamerina del raspberry e test di streaming audio/video
= Raspberry setup by Asbesto =

A solid setup for a raspberry sending videos / slideshow, can be rebooted / accessed by remote vpn, and make coffee.

This is for Rasp PI 3, quad core.

== Howto about video / slideshow ==

 * .mp4 files goes ONLY INTO /home/pi/video
 * Pictures goes ONLY INTO /home/pi/foto

A script generate the video list to go on play, reading that dir /home/pi/video and creating a new list every X minutes or at every reboot.

so every added video will be added to the playlist.

To play only a particular video you must remove all others.

== TODO ASBESTO, notepad ==

* ffprobe doesn't exist because DEBIAN SHIT, it was named avprobe. so dur.sh didn't worked. so listamp4.sh didn't generate any list. PORCODIO!
changing ffprobe in avprobe inside dur.sh fixed everything.

== Features ==

 * Based on Raspbian
 * All standard repo's
 * Disk image ready with everything, <3GB
 * READ ONLY boot partition to avoid shit on the FS in case of brutal poweroff. But so, crontab doesn't work, "at" also maybe not. TO BE CHECKED
 * Simple network config in /etc/network/interface. Nothing else needed.
 * Very simple startup bash script that launch everything. Other scripts in /home/pi/shells/
 * Network config via ETH0 o WLAN0, cable o wifi.
 * Automatic hostname as "raspamiXX" where XX = last number of the wlan0 IP address (same can be done with eth0)
 * USB wifi dongles already configured with their own firmware etc.
 * Implement a wifi scanner
 * Screensaver & screen blanking disabled
 * Automatic network check: if disconnected, reboot network subsystem, checking every 2 minutes.
 * VPN access / mosh / screen
 * VNC access under VPN :)
 * Chromium installed
 * ansible and recipes to mod every rasp in the network
 * USB wifi dongles configured without the FUCKING POWERSAVING MODE.

== IDEAS ==

 * underclock sistema? non necessario al momento, non serve a un cazzo-
 * VPN gestita interamente dai nostri server (zaverio.com) (voyanet cmq e' affidabile ed io sono root su una macchina apposita, quindi non so quanto
questo sia necessario)
 * Mplayer accelerato per rasp pi: fare check su quei 2 link che sono spariti
 * Test su programma in PYTHON per controllare OMXPlayer, che PARE usi addirittura OSC per fare solo POCHE cose.
 * Check telecamerina del raspberry e test di streaming audio/video
Line 58: Line 55:
h2. ACCESSO allo schedino

Si entra con utenza pi, pw vivabasaglia. la pw root e' la nostra solita.

Il sistema parte, e lancia /home/pi/shells/start.sh - da li parte tutto quel che serve, impostazioni e programmi.

h2. RETE sul posto

Il router e' via wireless su 10.0.0.1 ed il suo dhcp assegna indirizzi sulla classe 10.0.0.1
Per accedere al router: admin/nostrapwsolita

telecom merda ha indirizzi 192.168.1.1 router, il resto BOH.
PARE che su eth0 ci sia un dhcp che da 192.168.1.200

Noi assegnamo ai raspi 10.0.1.50 in poi, con eth0 fissa a 172.16.0.50

h2. Check automatico per rete su o giu'

Questo script controlla ogni due minuti se la rete e' su, altrimenti restarta il networking.
Viene lanciato in background con "sleep 120" perche' crontab non puo' funzionare al momento perche' il fs boot e' in Read Only (vedi sotto x dettagli).
== ACCESSING THE SHIT ==

USER pi, PW vivabasaglia. Root pw is "ciaras".

System boots and launch /home/pi/shells/start.sh - from there, everything starts.

== Automagic check for network up/down ==

Every 2 minutes this piece of shit check for network and eventually put it on again.

It's in background with "sleep 120" because here NO crontab due to the RO fs.
Line 93: Line 81:
Questo script si chiama "*netcheck*", sta in */usr/local/sbin* e viene lanciato da */etc/rc.local* cosi:

<pre>
This script is named  '''netcheck''', in '''/usr/local/sbin'''and starts from '''/etc/rc.local''':

<pre>
# into rc.local
Line 99: Line 88:
h2. Hostname con il numero dell'ultima parte dell'indirizzo IP

L'ho fatto con uno script, "ultimo" che si trova in */usr/local/sbin/ultimo*, ed e' questo:
== Hostname with last IP number in it ==

The script is "ultimo" in '''/usr/local/sbin/ultimo''':
Line 113: Line 102:
e viene lanciato dentro */etc/rc.local* con

<pre>
# cambia /etc/hostname in base all'ultimo numero dell'IP del wifi
and start from  '''/etc/rc.local''':

<pre>
# change /etc/hostname adding last IP number from wifi
Line 120: Line 109:
h2. VPN

Ci appoggiamo a infrastruttura di uno dei nostri (Voyager) in attesa di spostare su zaverio.com.

h3. Installazione VPN sui rasp
== VPN ==

We use Voyager's vpn :)

=== VPN install on rasp ===
Line 130: Line 119:
poi copia il file .conf gia' pronto coi certificati, 50.conf (es. per il rasp .50)

Poi ti basta dare
next, copy the .conf file already prepared with all certs etc. (ex. for rasp number 50 use 50.conf)

after that
Line 138: Line 127:
oppure per automatizzare, copiare 50.conf su */etc/openvpn/client.conf* :

e lanciarlo da */etc/rc.local* inserendovi
or copy 50.conf into '''/etc/openvpn/client.conf'''

and launch from '''/etc/rc.local'''
Line 147: Line 136:
h3. VPN lato macchine nostre linux, portatili, etc

E' la stessa cosa solo che si usa asbesto.conf per il mio portatile e cosi' via.

h2. Installazione ed uso di VNC server/client

E' comodissimo a 'la teamviewer.

h3. Installazione VNC lato raspberry:

Vedi [[https://www.raspberrypi.org/documentation/remote-access/vnc/]]
=== VPN on our computers ===

Same shit but using our personal certs.

== VNC server/client install and usage ==

A teamviewer-like piece of shit, very handy!

=== VNC installation on raspberry ===

Look [[https://www.raspberrypi.org/documentation/remote-access/vnc/]]
Line 163: Line 152:
poi lancia tightvncserver per configurarlo, li' dai una pw, che servira' per accedere.

in *~/shells/start.sh* ho aggiunto
and launch '''tightvncserver''' to configure it, here you give a password that you will need to access.

in '''~/shells/start.sh''' I added
Line 171: Line 160:
h3. Installazione VPN lato macchine linux remote === VNC installation on our computers ===
Line 177: Line 166:
poi basta che lanci so just launch
Line 183: Line 172:
metti la pw ed appare il desktop. FINE


h2.
Installazione ansible, e modo d'uso
put the pw and desktop appears. END OF SHIT

== Installazione ansible, e modo d'uso ==
Line 190: Line 178:
h3. Ricetta ansible per configurare i vari raspberry:

Si trova in /home/pi/pi.yml

*ATTENZIONE: GLI SPAZI SONO PARTE DELLA SINTASSI, SE CAMBI L'INDENTAZIONE, NON FUNZIONA PIU UN CAZZO. IL LINGUAGGIO YAML E' UNA MERDA.*
=== Ansible recipe to configure all raspberry ===

that's is /home/pi/pi.yml

'''WARNING, SPACES ARE PART OF THE SYNTAX. IF YOU MOVE THEM, NOTHING WILL WORK. YAML IS A FUCKING PIECE OF SHIT.'''
Line 230: Line 218:
*ATTENZIONE: GLI SPAZI SONO PARTE DELLA SINTASSI, SE CAMBI L'INDENTAZIONE, NON FUNZIONA PIU UN CAZZO. IL LINGUAGGIO YAML E' UNA MERDA.*

si lancia con:
'''WARNING, SPACES ARE PART OF THE SYNTAX. IF YOU MOVE THEM, NOTHING WILL WORK. YAML IS A FUCKING PIECE OF SHIT.'''

LAUNCH with:
Line 238: Line 226:
Se vuoi lanciarla per un singolo ip, ad es. il 10.0.1.77, dai For a single ip, ex. il 10.0.1.77, use
Line 244: Line 232:
Ovviamente gli IP vanno configurati in */etc/ansible/hosts*, come segue: IP must be configured into '''/etc/ansible/hosts''', as follow:
Line 265: Line 253:
h2. Impostazione del disco

Creo la schedina come fosse da 4 giga. anche se sta su una 32gb. per copiare il sistema quindi:
== Disk settings ==

I made the sdcard as a 4GB one, also if is 32gb. To copy it:
Line 273: Line 261:
ora e' cosi: Now it is as follow:
Line 321: Line 309:


h2. ACCESSI E RETE:

Ethernet: eth0, 172.16.0.50 fisso.

Login: user pi, pw vivabasaglia. sudo diventa root. pw root: la solita nostra

Wifi: wlan0 10.0.1.50 in poi, gw 10.0.0.1

h3. ATTENZIONE:

*in /etc/network/interfaces VA SETTATO UN SOLO GW, altrimenti non so perche' ma la seconda rete (wlan0) non sale!*

VEDI PIU IN BASSO

h2. Rendere la distro Raspbian compatibile arm 7 -> arm 8
Using gparted you can resize it as you need.

== ACCESS / NETWORK ==

Ethernet: eth0, 172.16.0.50 fixed.

Login: user pi, pw vivabasaglia. sudo give root. pw root: ciaras

Wifi: wlan0 10.0.1.50 and up, gw 10.0.0.1

=== WARNING ===

'''in /etc/network/interfaces SET JUST ONE GW, OTHERWHISE 2nd network card (wlan0) won't start!'''

LOOK BELOW.

== Make our distro compatible for arm 7 -> arm 8 ==
Line 348: Line 336:
e riavviare!

h2. Come avere lo SCHERMO NERO AL BOOT ed evitare messaggi e fragoline

Se vuoi farlo devi EDITARE */boot/cmdline.txt*

-Via il boot log: si fa mettendo come console
and reboot.

== BLACK SCREEN AT BOOT AVOIDING messages and logos ==

Edit '''/boot/cmdline.txt'''

boot log:

<pre>
Line 357: Line 346:

al posto di tty1-

_NO: meglio avere dei log per capire se sta salendo o no. ho lasciato solo loglevel=3 e logo.nologo_

Via i loghini: si fa aggiungendo alla fine della riga
</pre>

in
stead of tty1

''NO: better have logs to understand if it's booting or not. I left only loglevel=3 & logo.nologo''

Fuck the logo: add at the end
Line 366: Line 356:
al momento quel file e' cosi: Actually /boot/cmdline.txt is like that:
Line 373: Line 363:
h2. lxde startup e quanto sono FIGLI DI PUTTANA

Sti COGLIONI di raspbian hanno cambiato LXDE in LXDE-pi dentro ~/.config/lxsession cosi' l'autostart non va piu.

*COGLIONI*
== lxde startup and HOW THEY'RE SON OF BITCHES ===

THOSE RASPBIAN BASTARDS CHANGED LXDE in LXDE-pi INTO ~/.config/lxsession so autostart didn't worked.

'''ASSHOLES'''
Line 381: Line 371:
E' da li dentro che lancio *~/shells/start.sh* ;)

h2. WIFI dongle:
It's from there that I launch  '''~/shells/start.sh''' ;)

== WIFI dongle ==
Line 387: Line 377:
Da qui scarichi lo zip e dentro c'e' il fottuto firmware.
il
.bin va copiato dentro */lib/firmware/rtlwifi*

Poi serve il
giusto drive a seconda del kernel: [[https://www.raspberrypi.org/forums/viewtopic.php?p=462982]]

Nel caso del ns kernel, Linux raspami1 3.18.7-v7+ #755 SMP PREEMPT Thu Feb 12 17:20:48 GMT 2015 armv7l GNU/Linux

il firmware giusto e'
From here you download the zip file, inside is the fucking firmware.

The
.bin goes in '''/lib/firmware/rtlwifi'''

Next you need the correct dri
ver according to the kernel: [[https://www.raspberrypi.org/forums/viewtopic.php?p=462982]]

For our kernel, Linux raspami1 3.18.7-v7+ #755 SMP PREEMPT Thu Feb 12 17:20:48 GMT 2015 armv7l GNU/Linux

the correct firmware is
Line 398: Line 389:
quindi da root: So, from root:
Line 406: Line 397:
e riavvia!

_Vecchi appunti:_

-wget https://dl.dropboxusercontent.com/u/80256631/8188eu-20140307.tar.gz //make sure you use the correct dropbox url for your Raspberry version
and reboot!

== Old notes ==

<pre>
wget https://dl.dropboxusercontent.com/u/80256631/8188eu-20140307.tar.gz //make sure you use the correct dropbox url for your Raspberry version
Line 417: Line 409:
-

h2. Scanner reti wifi

E' utile per capire quanto copriamo come zona, e se il raspi ci arriva.

* [[http://www.oak-wood.co.uk/oss/pifimon]] Pifimon. comodo, in perl, serve installare libterm-readkey-perl con apt-get. poi starra e lancia, funziona, fine.
* scriptino in */home/pi/shells/wifimon.sh* fatto da me al volo ;)


h2. Togliere lo SFONDO A LXDE e mettere sfondo nero.

Va tolto dal background, che poi va impostato come colore nero, lo fai da X. Poi, dalle opzioni desktop, leva l'icona trash, e cosi ora devi solo levare di mezzo il panel, killandolo.

h1. LEVARE IL PANNELLO IN BASSO

Devi killare lxpanel. Se poi ti serve, va rilanciato con lxpanel --profile LXDE-pi: lancia direttamente *~/shells/panel.sh*

h2. DISABILITA OGNI BLANK SCREEN
</pre>

== WIFI Scanner ==

 * [[http://www.oak-wood.co.uk/oss/pifimon]] Pifimon. In perl, need libterm-readkey-perl (apt-get). untar, launch, it work.
 * Script in '''/home/pi/shells/wifimon.sh''' ;)

== Get rid of LXDE background, putting a black background ==

Remove from background, and put it black. You do it from X. After that, from desktop options, remove trash icon, so now you have to just kill the panel.

== Killing the panel ==

Kill lxpanel. If you need it again, relaunch with '''lxpanel --profile LXDE-pi''' : launch directly '''~/shells/panel.sh'''

== BLANK SCREEN disabling ==
Line 443: Line 432:
messo in *~/shells/start.sh*


h2. Ri
solvere SSH LENTO (risolto)

_
One workaround is to edit /etc/sshd_config on the sshd server machine, not your ssh client machine to set "UseDNS" to "no". (From the way you originally wrote your question, it sounded like you may have edited that file on your client, which wouldn't make a difference.)
it's into '''~/shells/start.sh'''


==
solve SLOW SSH ==

One workaround is to edit /etc/sshd_config on the sshd server machine, not your ssh client machine to set "UseDNS" to "no". (From the way you originally wrote your question, it sounded like you may have edited that file on your client, which wouldn't make a difference.)
Line 453: Line 442:
Sergio Corpettini come ti era gia' stato detto, sul server metti nel config di ssh UseDNS no_


h2. NASCONDERE IL CURSORE SOTTO X dopo alcuni secondi che sta fermo
Set into ssh config: '''UseDNS no'''


== HIDE X cursor after some seconds of inactivity ==
Line 464: Line 453:
h2. CONNESSIONE AUTOMATICA WIFI

Scheda supportata:
== Automagic wifi connection ==

Our wifi:
Line 469: Line 459:
IDEAL this DICK!!!
Line 473: Line 465:
h3. ATTENZIONE: VIA DAL CAZZO IL POWER SAVING SUI PENNINI WIFI, CHE RENDE LA CONNESSIONE INSTABILE!!! === GET RID OF POWERSAVING on wifi dongles!!! ===
Line 477: Line 469:
<pre>
Line 478: Line 471:
</pre>
Line 489: Line 483:
h3. Configurazione di rete: === Configurazione di rete ===
Line 525: Line 519:
h2. SLIDESHOW == SLIDESHOW ==
Line 534: Line 528:
h2. Problema ipotetico documentato su web: un FLASH puo' resettare il raspberry PI 2. E non i precedenti. == Problema ipotetico documentato su web: un FLASH puo' resettare il raspberry PI 2. E non i precedenti. ==
Line 540: Line 534:
h2. /home separata == /home separata ==
Line 544: Line 538:
h2. Sistema in READ ONLY? == Sistema in READ ONLY? ==
Line 550: Line 544:
_FORSE ha senso mettere i link di crontab su /boot in modo che resti un crontab con delle cose immutabili, ma modificabili rendendo scrivibile /boot quando serve. DA PROVARE_

[[http://k3a.me/how-to-make-raspberrypi-truly-read-only-reliable-and-trouble-free/]]
[[https://www.raspberrypi.org/forums/viewtopic.php?p=213440]]
[[http://blog.pi3g.com/2014/04/make-raspbian-system-read-only/]] sembra il sistema migliore! provare

h2. USCITA HDMI sempre attiva
FORSE ha senso mettere i link di crontab su /boot in modo che resti un crontab con delle cose immutabili, ma modificabili rendendo scrivibile /boot quando serve. DA PROVARE

 *
[[http://k3a.me/how-to-make-raspberrypi-truly-read-only-reliable-and-trouble-free/]]
 * [[https://www.raspberrypi.org/forums/viewtopic.php?p=213440]]
 * [[http://blog.pi3g.com/2014/04/make-raspbian-system-read-only/]] sembra il sistema migliore! provare

== USCITA HDMI sempre attiva ==
Line 568: Line 562:
h2. DUPLICAZIONE DELLE SCHEDINE == DUPLICAZIONE DELLE SCHEDINE ==
Line 572: Line 566:
* Metti la schedina
* sudo dd if=milano2.img of=/dev/sdb bs=4096
* togli e rimetti la schedina
* sudo gparted /dev/sdb
* espandi la partizione /home al massimo
* esci da gparted
* sudo joe /mountpoint/schedina/etc/network/interfaces e cambia l'ip della WLAN, NON TOCCARE eth0 ne' nient'altro.
* sync, umount

h1. LINK VARI

[[http://www.element14.com/community/thread/40489/l/new-raspberry-pi-b-wont-boot?displayFullThread=true]]

[[http://thepihut.com/blogs/raspberry-pi-tutorials/16982376-upd4t1ng-raspbian-on-your-microsd-for-the-raspberry-pi-2]] porcodio

[[http://raspberrypi.stackexchange.com/questions/7978/how-can-i-prevent-my-pis-sd-card-from-getting-corrupted-so-often]]

[[https://github.com/raspberrypi/firmware/issues/397]]
 * Metti la schedina
 * sudo dd if=milano2.img of=/dev/sdb bs=4096
 * togli e rimetti la schedina
 
* sudo gparted /dev/sdb
 * espandi la partizione /home al massimo
 * esci da gparted
 
* sudo joe /mountpoint/schedina/etc/network/interfaces e cambia l'ip della WLAN, NON TOCCARE eth0 ne' nient'altro.
 * sync, umount

== LINK VARI ==

 *
[[http://www.element14.com/community/thread/40489/l/new-raspberry-pi-b-wont-boot?displayFullThread=true]]
 * [[http://thepihut.com/blogs/raspberry-pi-tutorials/16982376-upd4t1ng-raspbian-on-your-microsd-for-the-raspberry-pi-2]] porcodio
 * [[http://raspberrypi.stackexchange.com/questions/7978/how-can-i-prevent-my-pis-sd-card-from-getting-corrupted-so-often]]
 * [[https://github.com/raspberrypi/firmware/issues/397]]
Line 592: Line 584:


~~~~
CategoryMuseo

Raspberry setup by Asbesto

A solid setup for a raspberry sending videos / slideshow, can be rebooted / accessed by remote vpn, and make coffee.

This is for Rasp PI 3, quad core.

Howto about video / slideshow

  • .mp4 files goes ONLY INTO /home/pi/video
  • Pictures goes ONLY INTO /home/pi/foto

A script generate the video list to go on play, reading that dir /home/pi/video and creating a new list every X minutes or at every reboot.

so every added video will be added to the playlist.

To play only a particular video you must remove all others.

TODO ASBESTO, notepad

* ffprobe doesn't exist because DEBIAN SHIT, it was named avprobe. so dur.sh didn't worked. so listamp4.sh didn't generate any list. PORCODIO! changing ffprobe in avprobe inside dur.sh fixed everything.

Features

  • Based on Raspbian
  • All standard repo's
  • Disk image ready with everything, <3GB

  • READ ONLY boot partition to avoid shit on the FS in case of brutal poweroff. But so, crontab doesn't work, "at" also maybe not. TO BE CHECKED
  • Simple network config in /etc/network/interface. Nothing else needed.
  • Very simple startup bash script that launch everything. Other scripts in /home/pi/shells/
  • Network config via ETH0 o WLAN0, cable o wifi.
  • Automatic hostname as "raspamiXX" where XX = last number of the wlan0 IP address (same can be done with eth0)
  • USB wifi dongles already configured with their own firmware etc.
  • Implement a wifi scanner
  • Screensaver & screen blanking disabled

  • Automatic network check: if disconnected, reboot network subsystem, checking every 2 minutes.
  • VPN access / mosh / screen
  • VNC access under VPN :)

  • Chromium installed
  • ansible and recipes to mod every rasp in the network
  • USB wifi dongles configured without the FUCKING POWERSAVING MODE.

IDEAS

  • underclock sistema? non necessario al momento, non serve a un cazzo-
  • VPN gestita interamente dai nostri server (zaverio.com) (voyanet cmq e' affidabile ed io sono root su una macchina apposita, quindi non so quanto

questo sia necessario)

  • Mplayer accelerato per rasp pi: fare check su quei 2 link che sono spariti
  • Test su programma in PYTHON per controllare OMXPlayer, che PARE usi addirittura OSC per fare solo POCHE cose.
  • Check telecamerina del raspberry e test di streaming audio/video

ACCESSING THE SHIT

USER pi, PW vivabasaglia. Root pw is "ciaras".

System boots and launch /home/pi/shells/start.sh - from there, everything starts.

Automagic check for network up/down

Every 2 minutes this piece of shit check for network and eventually put it on again.

It's in background with "sleep 120" because here NO crontab due to the RO fs.

<pre> #!/bin/bash while (true); do

  • x=ping -c2 google.com 2>&1 | grep unknown if [ ! "$x" = "" ]; then

    • echo date >> /home/pi/netcheck.log echo "Line is down. restarting..." >> /home/pi/netcheck.log service networking restart echo "done" >>/home/pi/netcheck.log

    fi

sleep 120 done </pre>

This script is named netcheck, in /usr/local/sbinand starts from /etc/rc.local:

<pre> # into rc.local nohup /usr/local/sbin/netcheck & </pre>

Hostname with last IP number in it

The script is "ultimo" in /usr/local/sbin/ultimo:

<pre> #!/bin/bash # # in base all'ultimo numero dell'IP del wifi, crea /etc/hostname. # IP=ifconfig wlan0 | grep addr: | sed 's/.*inet *//; s/ .*//' cn=$(awk -F. '$0=$4' <<< $IP) echo "raspami"$cn > /etc/hostname </pre>

and start from /etc/rc.local:

<pre> # change /etc/hostname adding last IP number from wifi /usr/local/sbin/ultimo & </pre>

VPN

We use Voyager's vpn :)

VPN install on rasp

<pre> sudo apt-get install openvpn </pre>

next, copy the .conf file already prepared with all certs etc. (ex. for rasp number 50 use 50.conf)

after that

<pre> openvpn ./50.conf </pre>

or copy 50.conf into /etc/openvpn/client.conf

and launch from /etc/rc.local

<pre> service openvpn start </pre>

VPN on our computers

Same shit but using our personal certs.

VNC server/client install and usage

A teamviewer-like piece of shit, very handy!

VNC installation on raspberry

Look https://www.raspberrypi.org/documentation/remote-access/vnc/

<pre> sudo apt-get install tightvncserver </pre>

and launch tightvncserver to configure it, here you give a password that you will need to access.

in ~/shells/start.sh I added

<pre> vncserver :1 & </pre>

VNC installation on our computers

<pre> sudo apt-get install xtightvncviewer </pre>

so just launch

<pre> vncviewer 172.16.66.9:1 </pre>

put the pw and desktop appears. END OF SHIT

Installazione ansible, e modo d'uso

*TODO - TODO - e' stato fatto ma e' da documentare.*

Ansible recipe to configure all raspberry

that's is /home/pi/pi.yml

WARNING, SPACES ARE PART OF THE SYNTAX. IF YOU MOVE THEM, NOTHING WILL WORK. YAML IS A FUCKING PIECE OF SHIT.

<pre> --- - hosts: pi

  • remote_user: pi sudo: yes tasks: # netcheck # # files to be added # - copy: src=/usr/local/sbin/netcheck dest=/usr/local/sbin/netcheck owner=root group=staff mode=0755 - copy: src=/usr/local/sbin/ultimo dest=/usr/local/sbin/ultimo owner=root group=root mode=0755 - copy: src=/etc/modprobe.d/8192cu.conf dest=/etc/modprobe.d/8192cu.conf owner=root group=root mode=0644 - copy: src=/etc/rc.altrirasp dest=/etc/rc.local owner=root group=root mode=0755 # # Line to be added in /etc/rc.local # # - lineinfile: dest=/etc/rc.local state=absent regexp="exit 0"

    # - lineinfile: dest=/etc/rc.local line="nohup /usr/local/sbin/netcheck &" # - lineinfile: dest=/etc/rc.local line="exit 0" # # Stuff to install/remove # # - name: nmap installation # apt: name=nmap state=present - name: reboot

    • command: /sbin/reboot

</pre>

WARNING, SPACES ARE PART OF THE SYNTAX. IF YOU MOVE THEM, NOTHING WILL WORK. YAML IS A FUCKING PIECE OF SHIT.

LAUNCH with:

<pre> ansible-playbook --ask-pass ./pi.yml </pre>

For a single ip, ex. il 10.0.1.77, use

<pre> ansible-playbook --ask-pass -l 10.0.1.77 ./pi.yml </pre>

IP must be configured into /etc/ansible/hosts, as follow:

<pre> # This is the default ansible 'hosts' file. # # It should live in /etc/ansible/hosts # # - Comments begin with the '#' character # - Blank lines are ignored # - Groups of hosts are delimited by [header] elements # - You can enter hostnames or ip addresses # - A hostname/ip can be a member of multiple groups

# Ex 1: Ungrouped hosts, specify before any group headers.

[pi] 10.0.1.[51:99] ansible_ssh_user=pi # 192.168.1.249 </pre>

Disk settings

I made the sdcard as a 4GB one, also if is 32gb. To copy it:

<pre> dd if=/dev/sdb of=milano2.img bs=4096 count=1048576 </pre>

Now it is as follow:

<pre> pi@raspami1 ~ $ cat /etc/fstab proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat defaults,ro 0 2 /dev/mmcblk0p2 / ext4 defaults,rw,noatime 0 1 /dev/mmcblk0p3 /home ext4 rw,nosuid,nodev,relatime,data=ordered 0 0 tmpfs /tmp tmpfs defaults 0 0

(parted) print all Model: SD SL32G (sd/mmc) Disk /dev/mmcblk0: 31.9GB Sector size (logical/physical): 512B/512B Partition Table: msdos

Number Start End Size Type File system Flags

  • 1 4194kB 62.9MB 58.7MB primary fat16 2 62.9MB 2943MB 2880MB primary ext4 3 2943MB 4277MB 1334MB primary ext4

root@raspami1:/home/pi# mount /dev/root on / type ext4 (rw,noatime,data=ordered) devtmpfs on /dev type devtmpfs (rw,relatime,size=470368k,nr_inodes=117592,mode=755) tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=94936k,mode=755) tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=189860k) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) /dev/mmcblk0p1 on /boot type vfat (ro,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro) /dev/mmcblk0p3 on /home type ext4 (rw,nosuid,nodev,relatime,data=ordered) tmpfs on /tmp type tmpfs (rw,relatime) root@raspami1:/home/pi#

root@raspami1:/home/pi# df -h Filesystem Size Used Avail Use% Mounted on rootfs 2.6G 2.0G 467M 82% / /dev/root 2.6G 2.0G 467M 82% / devtmpfs 460M 0 460M 0% /dev tmpfs 93M 264K 93M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 186M 0 186M 0% /run/shm /dev/mmcblk0p1 56M 15M 42M 26% /boot /dev/mmcblk0p3 1.2G 129M 1.1G 12% /home tmpfs 464M 12K 464M 1% /tmp </pre>

Using gparted you can resize it as you need.

ACCESS / NETWORK

Ethernet: eth0, 172.16.0.50 fixed.

Login: user pi, pw vivabasaglia. sudo give root. pw root: ciaras

Wifi: wlan0 10.0.1.50 and up, gw 10.0.0.1

WARNING

in /etc/network/interfaces SET JUST ONE GW, OTHERWHISE 2nd network card (wlan0) won't start!

LOOK BELOW.

Make our distro compatible for arm 7 -> arm 8

<pre> sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade sudo apt-get install raspberrypi-ui-mods

sudo halt </pre>

and reboot.

BLACK SCREEN AT BOOT AVOIDING messages and logos

Edit /boot/cmdline.txt

boot log:

<pre>

  • console=tty3

</pre>

instead of tty1

NO: better have logs to understand if it's booting or not. I left only loglevel=3 & logo.nologo

Fuck the logo: add at the end

  • loglevel=3 logo.nologo

Actually /boot/cmdline.txt is like that:

<pre>

  • dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait loglevel=3 logo.nologo

</pre>

== lxde startup and HOW THEY'RE SON OF BITCHES ===

THOSE RASPBIAN BASTARDS CHANGED LXDE in LXDE-pi INTO ~/.config/lxsession so autostart didn't worked.

ASSHOLES

http://www.raspberrypi-spy.co.uk/2014/05/how-to-autostart-apps-in-rasbian-lxde-desktop/

It's from there that I launch ~/shells/start.sh ;)

WIFI dongle

https://github.com/lwfinger/rtl8188eu

From here you download the zip file, inside is the fucking firmware.

The .bin goes in /lib/firmware/rtlwifi

Next you need the correct driver according to the kernel: https://www.raspberrypi.org/forums/viewtopic.php?p=462982

For our kernel, Linux raspami1 3.18.7-v7+ #755 SMP PREEMPT Thu Feb 12 17:20:48 GMT 2015 armv7l GNU/Linux

the correct firmware is

3.18.7-v7+ #755, #756 - 8188eu-v7-20150212.tar.gz

So, from root:

<pre> wget https://dl.dropboxusercontent.com/u/80256631/8188eu-v7-20150212.tar.gz tar xzf 8188eu-v7-20150212.tar.gz ./install.sh </pre>

and reboot!

Old notes

<pre> wget https://dl.dropboxusercontent.com/u/80256631/8188eu-20140307.tar.gz //make sure you use the correct dropbox url for your Raspberry version tar -zxvf 8188eu-20140307.tar.gz sudo cp rtl8188eufw.bin /lib/firmware/rtlwifi //not needed anymore if your operating system is above 3.10.33+ sudo install -p -m 644 8188eu.ko /lib/modules/3.10.33+/kernel/drivers/net/wireless sudo insmod /lib/modules/3.10.33+/kernel/drivers/net/wireless/8188eu.ko sudo depmod -a sudo reboot </pre>

WIFI Scanner

Get rid of LXDE background, putting a black background

Remove from background, and put it black. You do it from X. After that, from desktop options, remove trash icon, so now you have to just kill the panel.

Killing the panel

Kill lxpanel. If you need it again, relaunch with lxpanel --profile LXDE-pi : launch directly ~/shells/panel.sh

BLANK SCREEN disabling

<pre> xset -dpms xset s noblank xset s off </pre>

it's into ~/shells/start.sh

solve SLOW SSH

One workaround is to edit /etc/sshd_config on the sshd server machine, not your ssh client machine to set "UseDNS" to "no". (From the way you originally wrote your question, it sounded like you may have edited that file on your client, which wouldn't make a difference.)

Another solution would be to have your ISP (or whatever institution is responsible for your publicly-routable IP addresses) fix their reverse-DNS record for your IP address on their DNS name servers that are authoritative for the reverse-DNS records for that block of IP addresses. In other words, "make it so people can find your host name based on your IP address, and make sure the hostname they find maps back to your IP address". 7 mins · Unlike · 1

Set into ssh config: UseDNS no

HIDE X cursor after some seconds of inactivity

<pre> sudo apt-get install unclutter unclutter -display :0 -noevents -grab </pre>

Automagic wifi connection

Our wifi:

Edimax EW-7811Un 150Mbps 11n Wi-Fi USB Adapter, Nano Size Lets You Plug it and Forget it, Ideal for Raspberry Pi, Supports Windows, Mac OS, Linux

IDEAL this DICK!!!

http://www.amazon.com/gp/product/B003MTTJOY/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B003MTTJOY&linkCode=as2&tag=rapihq-20&linkId=7QAXDGG72H4EWYFB

https://www.raspberrypi.org/forums/viewtopic.php?f=31&t=7471

GET RID OF POWERSAVING on wifi dongles!!!

Dando "lsmod" si vede che abbiamo il driver

<pre> 8192cu 528365 0 </pre>

Devi creare il file */etc/modprobe.d/8192cu.conf* contenente:

<pre> # Disable power saving options 8192cu rtw_power_mgnt=0 rtw_enusbss=1 rtw_ips_mode=1 </pre>

e successivamente riavviare.

Configurazione di rete

Mettere solo questo in */etc/network/interfaces*

<pre> # ultima config testata, funziona, tira su tutto auto lo iface lo inet loopback

up eth0 allow-hotplug iface eth0 inet static

  • address 172.16.0.50 # ogni schedino col suo IP ovviamente netmask 255.255.0.0 # non usarlo! gateway 10.10.1.1 # nota: un solo gw per le interfacce # altrimenti non sale la rete wifi!

auto wlan0 allow-hotplug iface wlan0 inet static

  • address 10.0.1.50 netmask 255.0.0.0 broadcast 10.255.255.255 gateway 10.0.0.1 dns-nameservers 8.8.8.8 8.8.4.4 wpa-ssid KIP01 wpa-psk vivabasaglia

</pre>

e cancella */etc/wpa_supplicant/wpa_supplicant.conf*

SLIDESHOW

<pre> apt-get install feh feh --recursive --randomize --auto-zoom -D 20 -F ./slideshow/ </pre>

-D delay, -F fullscreen. NON supporta le GIF

Problema ipotetico documentato su web: un FLASH puo' resettare il raspberry PI 2. E non i precedenti.

Il problema e' il chip U16 che sembra fotosensibile. Dovrebbe bastare coprirlo.

http://www.pcpro.co.uk/components/1000375/why-a-camera-flash-will-reboot-your-raspberry-pi-2

/home separata

/home e' separata dal sistema in una partizione a parte.

Sistema in READ ONLY?

BELLO sarebbe... SE FUNZIONASSE.

Solo /boot al momento si puo' mettere in read only, /tmp e' su tmpfs in ram, con dentro alcuni link di /var. Questo significa che crontab e' volatile e non resta memorizzato perche' sta su ram.

FORSE ha senso mettere i link di crontab su /boot in modo che resti un crontab con delle cose immutabili, ma modificabili rendendo scrivibile /boot quando serve. DA PROVARE

USCITA HDMI sempre attiva

Va settata, altrimenti se il tv si accende dopo il rasp, automaticamente quest'ultimo switcha sul connettore video out.

Add these two lines to */boot/config.txt* and reboot Raspbmc:

<pre> hdmi_force_hotplug=1 hdmi_drive=2 </pre>

DUPLICAZIONE DELLE SCHEDINE

L'immagine e' milano2.img

  • Metti la schedina
  • sudo dd if=milano2.img of=/dev/sdb bs=4096
  • togli e rimetti la schedina
  • sudo gparted /dev/sdb
  • espandi la partizione /home al massimo
  • esci da gparted
  • sudo joe /mountpoint/schedina/etc/network/interfaces e cambia l'ip della WLAN, NON TOCCARE eth0 ne' nient'altro.
  • sync, umount

Asbesto

~~~~ CategoryMuseo

Museo/RaspberrySetup (last edited 2024-04-18 15:46:39 by asbesto)