J’ai récemment installé l’OS Recalbox, l’émulateur de consoles de jeux, sur mon RaspberryPi3. Une petite manette USB, et… ah oui il me faudra une manette USB ou Bluetooth supplémentaire, et prendre le temps de retrouver des jeux sympas… et cela devrait animer les soirées d’hiver !
Mon objectif est d’avoir un RaspberryPi près du bureau pour :
- Faire console de jeux (checked)
- Ah tiens Recalbox est fourni avec le media center Kodi (à creuser)
- Rendre mon imprimante utilisable via le réseau (peut-être compliqué avec Recalbox, c’est mon prochain défi)
- Rajouter un noeud Syncthing à la maison (checked)
Mais comment installer synchting sur Recalbox ? Puisque comme le disent certains sur les forums : il n’y a pas de gestionnaire de paquet sur Recalbox.
Syncthing est fait pour synchroniser des trucs. J’ai connecté les ordinateurs de la maison à deux noeuds Synchting sur 2 RasberryPi. Cela permet d’échanger facilement les fichiers, de rajouter des photos facilement à mon RaspberryPi faisant office de cadre numérique, et ça sert de backup en cas de casse de disque dur. C’est aussi une petite protection contre le vol (4 copies, avec un peu de chance le voleur ne les trouvera pas toutes), mais c’est inutile contre une suppression malencontreuse de données, pour ça j’ai un disque dur externe.
Accès SSH à Recalbox
Recalbox est fourni avec un serveur SSH, yes!
$ ssh root@ip-address recalboxroot #
Le tour est joué !
Installé Syncthing sur Recalbox
Syncthing ayant relativement peu de dépendance, il suffit de déposer l’exécutable syncthing
sur Recalbox et de l’exécuter pour que le tour soit jouer.
Pour trouver l’exécutable, on peut le recompiler (certes), mais sur RaspberryPi, la version pré-compilé pour ARM fera très bien l’affaire. On peut par exemple le télécharger et l’envoyer sur le RaspberryPi avec scp
.
$ wget https://github.com/syncthing/syncthing/releases/download/v1.4.2/syncthing-linux-arm-v1.4.2.tar.gz
$ tar xf syncthing-linux-arm-v1.4.2.tar.gz
$ scp syncthing-linux-arm-v1.4.2/synchting root@ip-address:.
Dans les dernières versions de Recalbox, il faut placer les scripts dans le dossier /usr/bin puis le rendre exécutable:
$ mount -o remount,rw / # Disk is mounted read only by default
$ mv syncthing /usr/bin
$ chmod 755 /usr/bin/syncthing
Personnellement, j’active toujours l’accès distant à l’IHM Web de Syncthing. Après avoir exécuter une fois syncthing grâce à ./syncthing
, je quitte (ctrl+c) et j’édite le fichier de config ~/.config/syncthing /config.xml
en changeant address
avec 0.0.0.0:8384
. J’ajoute un mot de passe plus tard via l’IHM.
Démarré Syncthing au démarrage
Recalbox utiliser init.d comme utilitaire de démarrage. Il faut donc rajouter le fichier suivant, nommé S95Syncthing
(par exemple) dans /etc/init.d/
.
#!/bin/bash
RECALHOME=/recalbox/share/system
EXE=/usr/bin/syncthing
case "$1" in
start)
nohup ${EXE} -home ${RECALHOME}/.config/syncthing -no-browser >${RECALHOME}/logs/syncthing_initd.log 2>&1 &
;;
stop)
pkill -f "syncthing"
;;
status)
ps aux | grep syncthing
;;
restart|reload)
pkill -f "syncthing"
nohup ${EXE} -home ${RECALHOME}/.config/syncthing -no-browser >${RECALHOME}/logs/syncthing_initd.log 2>&1 &
;;
*)
esac
exit $?
Sans oublier de rendre ce script exécutable :
$ mount -o remount,rw / # Disk is mounted read only by default
$ chmod 755 /etc/init.d/S95Syncthing
Et voilà, syncthing démarrera tout seul au prochain redémarrage !