Charger ses rom depuis un partage réseau Samba (par exemple un NAS) (FR) - boudabass/recalbox-os GitHub Wiki
Pour pouvoir stocker ses Roms sur un NAS et donc pouvoir en stocker beaucoup plus que sur une carte SD, je me suis permis de compiler des astuces trouvé sur le forum (merci à @nesousx, @kevean, @FunkyBeef et @Acris pour vos solutions !)
Obligatoire Le NAS et la Pi doivent être connectés en ethernet!
Tout d'abord le NAS (testé sur un Synology, mais le fonctionnement est identique un peu partout) :
- Créez un répertoire partagé (appelons le "/roms/")
- Créez un utilisateur avec les droits d’écriture/lecture sur ce répertoire. (ou réutiliser un utilisateur avec ces droits)
- Recréez l'architecture du répertoire Roms de la recalbox (via le partage réseau, via ftp, ou à la main si vous voulez ;) l'important est d'avoir la même architecture, c'est à dire un répertoire par machines émulées.
Option :
Il est tout à fait possible de faire la même chose depuis le disque dur de votre PC. Sous Windows, vous pouvez créer un répertoire partagé et le monter de la même manière sur la recalbox. Seul inconvénient : Le PC doit être allumé pour accéder aux Roms depuis la recalbox.
Maintenant sur la Recalbox
depuis un terminal ou depuis une connexion SSH (Voir le Tuto pour se connecter en SSH)
Pour V4.0.0 seulement : Avant d'éditer le fstab écrivez ceci :
mount -o remount,rw /
editez le fstab
nano /etc/fstab
dans le fichier fstab, ajoutez la ligne suivante :
//IP_NAS/REPERTOIRE_PARTAGE /recalbox/share/roms cifs user=XXX,password=YYY,uid=0,gid=0,rw 0 0
Avec bien sur :
- IP_NAS : l'ip de votre NAS (exemple : 192.168.0.1)
- REPERTOIRE_PARTAGE : le repertoire que vous venez de créer (exemple roms)
- Remplacer XXX : par le nom de l'utilisateur de votre NAS
- Remplacer YYY : par le mot de passe de l'utilisateur de votre NAS
Exemple :
//192.168.0.1/roms /recalbox/share/roms cifs user=recalbox,password=recalbox,uid=0,gid=0,rw 0 0
Quittez et sauvegardez :
- CTRL+X
- Y
- ENTER
maintenant éditez le fichier S31emulationstation
nano /etc/init.d/S31emulationstation
ajoutez mount -a juste après
case "$1" in
start)
mount -a
Quittez et sauvegardez :
- CTRL+X
- Y
- ENTER
Il ne reste plus qu' à déplacer S31emulationstation pour qu'il démarre après le réseau :
mv /etc/init.d/S31emulationstation /etc/init.d/S92emulationstation
Redémarrez enfin la recalbox :
reboot
Et vous retrouverez toutes vos Roms depuis le NAS.
Attention:
Si vous mettez à jour Recalbox, un nouveau S31emulationstation sera créé. Ainsi reprennez de : maintenant éditez le fichier S31emulationstation
Depuis la version 4.1 de Recalbox, le chargement des Roms depuis un partage réseau est grandement simplifié. Il est maintenant possible d'indiquer au système que le contenu du dossier /recalbox/share doit être monté depuis un partage réseau, sans qu'il soit nécessaire de modifier des fichiers système ou des scripts de démarrage.
Depuis un terminal ou depuis une connexion SSH (Voir le Tuto pour se connecter en SSH)
Passez le système de fichiers en mode "lecture/écriture" (il est en "lecture uniquement" par défaut). Cette modification restera active jusqu'au prochain redémarrage de la Recalbox :
mount -o remount,rw /boot
Maintenant, éditez le fichier /boot/recalbox-boot.conf avec votre éditeur préféré (nano, vi)
Remplacez la ligne :
sharedevice=INTERNAL
par la ligne :
sharedevice=NETWORK
afin d'indiquer à la Recalbox que le contenu du dossier /recalbox/share doit être monté depuis un partage réseau (et non depuis la carte SD)
Il est maintenant nécessaire de spécifier, toujours dans le fichier recalbox-boot.conf
, les informations de connexion au NAS. Pour cela, deux options possibles :
- les commandes basiques :
sharenetwork_<nfs|smb><[0-9]>=<SHARE|ROMS|SAVES|BIOS>@<NAS>:<répertoire partagé>:<options>
- les commandes avancées :
sharenetwork_cmd<[0-9]>=<commande à exécuter>
Exemple :
[email protected]:recalbox/roms:username=recalbox,password=recalbox
[email protected]:recalbox/saves:username=recalbox,password=recalbox
Autre exemple, avec les commandes avancées :
sharenetwork_cmd1=mount -o port=2049,nolock,proto=tcp 192.168.0.1:/Documents/recalbox /recalbox/share
Attention cela ne fonctionne pas si votre pi est connecté en wifi ! (pour le moment du moins)