Charger ses rom depuis un partage réseau Samba (par exemple un NAS) (FR)

OyyoDams edited this page May 1, 2018 · 17 revisions

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

Recalbox version <= 4.0.x

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

Recalbox version >= 4.1

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 :

sharenetwork_smb1=ROMS@192.168.0.1:recalbox/roms:username=recalbox,password=recalbox
sharenetwork_smb2=SAVES@192.168.0.1: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
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.