Recalbox exécute automatiquement un fichier de votre cru au démarrage et à l'extinction : custom.sh. C'est le moyen le plus simple d'ajouter un montage, un service, un réglage matériel ou un petit correctif personnel, sans jamais modifier la partition système.
Créez un fichier nommé exactement custom.sh, à placer dans /recalbox/share/system/ — le dossier system du partage réseau.
Le script est exécuté en root, avec bash, et reçoit un argument :
start au démarrage de la Recalbox ;stop à son extinction.À vous de traiter cet argument :
#!/bin/bash
case "$1" in
start)
# Vos commandes de démarrage
echo "Démarrage" > /tmp/custom.log
;;
stop)
# Vos commandes d'extinction
echo "Extinction" >> /tmp/custom.log
;;
esac
Le fichier n'a pas besoin d'être rendu exécutable : il est appelé par bash. Il peut contenir n'importe quelle commande shell, et lancer d'autres programmes — un script Python, par exemple.
Vérifiez que votre éditeur enregistre en fins de ligne Unix (LF). Un fichier enregistré au format Windows (CRLF) provoque des erreurs
command not foundmystérieuses.
Depuis une connexion SSH :
/etc/init.d/S99custom start
et pour la partie extinction :
/etc/init.d/S99custom stop
Un script qui bloque (boucle infinie, attente réseau sans limite de temps) retardera le démarrage de Recalbox, voire l'empêchera. Faites toujours passer les tâches longues en arrière-plan avec
&.
Recalbox propose trois façons d'exécuter vos propres scripts — ne les confondez pas :
| Besoin | Mécanisme |
|---|---|
| Au démarrage et à l'extinction de la machine | custom.sh — cette page |
À la demande, depuis l'interface (PARAMÈTRES AVANCÉS → SCRIPTS UTILISATEURS) |
Scripts utilisateur |
| Sur un événement (lancement d'un jeu, changement de système, veille…) | Scripts sur événements de l'interface |
#!/bin/bash
case "$1" in
start)
mkdir -p /recalbox/share/externals/nas
mount -t cifs //192.168.1.10/medias /recalbox/share/externals/nas -o guest,vers=3.0
;;
stop)
umount /recalbox/share/externals/nas
;;
esac
Pour un montage réseau destiné à héberger vos roms, préférez les directives
sharenetwork_*derecalbox-boot.conf: elles s'exécutent avant le démarrage de l'interface, donc les jeux sont vus dès le premier scan. Voir Modifier les fichiers de configuration de démarrage.