Skip to content

Load your roms from a network shared folder (EN)

hoak2 edited this page Feb 18, 2018 · 25 revisions

You can have your Roms on a NAS or a shared folder on your PC to have much more space than on a SD Card. This is a compilation of forum users (thanks to @nesousx, @kevean, @FunkyBeef and @Acris for your solutions !)

First on the NAS (tested on a Synology NAS, but it will be the same on other) :

  • Create a shared folder (for example call it "/roms/")
  • Create a user with write/read rights on this folder (or have a user who have it)
  • Recreate the same folder as the Roms recalbox folder (with SMB network, FTP, or with your little finger if you want ;) The aim is to have the exact same folder, one by emulator.

Option :

You can do the same thing on a PC, the problem is you need to turn on your PC to access the roms.

Now on Recalbox

Recalbox version <= 4.0.x

With a terminal or via SSH (See the Tuto)

For V4.0.0 only: Before editing fstab write this:

mount -o remount,rw /

edit fstab

nano /etc/fstab

add this line (all on the same line, no carrier return):

//IP_NAS/SHARED_FOLDER /recalbox/share/roms cifs user=XXX,password=YYY,uid=0,gid=0,rw 0 0

With :

  • IP_NAS : the IP adress (example : 192.168.0.1)
  • SHARED_FOLDER : the folder you just make (example roms)
  • XXX : User name
  • YYY : User Password
Example : 
//192.168.0.1/roms /recalbox/share/roms cifs user=recalbox,password=recalbox,uid=0,gid=0,rw 0 0

Quit & Save :

  • CTRL+X
  • Y
  • ENTER

Now edit S31emulationstation

nano /etc/init.d/S31emulationstation

Add mount -a just after

case "$1" in

start)

mount -a

Quit & Save :

  • CTRL+X
  • Y
  • ENTER

Now you need to move S31emulationstation after the network start :

cd /etc/init.d/

mv S31emulationstation S92emulationstation

restart recalbox :

reboot

Tadaa, you have all your roms from the NAS.

Warning :

If you update Recalbox, a new S31emulationstation will be created. So restart from : Now edit S31emulationstation

Recalbox version >= 4.1

Starting from Recalbox version 4.1, loading Roms from a network share is greatly simplified. It is now possible to tell the system that the contents of the file /recalbox/share must be mounted from a network share without the need to modify system files or startup scripts.

From a terminal or an SSH connection See the tutorial to connect in SSH

Set the filesystem in "read/write" mode (it's "read only" by default). This change will remain active until the next reboot of Recalbox :

mount -o remount,rw /boot

Now, edit the file /boot/recalbox-boot.conf with your favorite editor (nano, vi)

Replace the line :

sharedevice=INTERNAL

with the line :

sharedevice=NETWORK

to tell the Recalbox that the contents of the folder /recalbox/share must be mounted from a network share (not from the SD card)

It is now necessary to specify login information to the NAS. For that, two possible options :

  • basic commands : sharenetwork_<nfs|smb><[0-9]>=<SHARE|ROMS|SAVES|BIOS>@<NAS>:<shared folder>:<options>
  • advanced commands : sharenetwork_cmd<[0-9]>=<command to execute>

Example :

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

Other example, with advanced commands :

sharenetwork_cmd1=mount -o port=2049,nolock,proto=tcp 192.168.0.1:/Documents/recalbox /recalbox/share

SMB v2 or higher support:

Add ",vers=2.0" / ",vers=2.1" etc, i.e:

sharenetwork_smb1=ROMS@192.168.0.1:recalbox/roms:username=recalbox,password=recalbox,vers=2.0
sharenetwork_smb2=SAVES@192.168.0.1:recalbox/saves:username=recalbox,password=recalbox,vers=2.0

SMB Windows support:

  • 1.0: Win 2k/XP/Server 2003/Server 2003 R2
  • 2.0: Vista SP1/Server 2008
  • 2.1: Win7/Server 2008 R2
  • 3.0: Win8/Server 2012
  • 3.02: Win8.1/Server 2012
  • 3.11: Win10/Server 2016 (doesn't work as of RecalBox 4.1/Dec 2017)

It's highly recommended that you remove SMB v1 support from your Windows machine:

English

Basic

Advanced


Français

Basique

Avancée


Deutsch

Basic

Fortgeschritten


Español

Basic

Avanzado


Português

Básico

Avançado


Italiano

Di base

Avanzate

Clone this wiki locally
You can’t perform that action at this time.