Good to know: If you are accessing your RetroPie installation over SSH the default Raspbian username is
piand the default password is
Copy the existing ‘roms’ folder structure to your server
For EmulationStation to be able to see your rom files the paths given to it within
/etc/es_systems.cfg need to be recreated on your networked server. Connect to your RetroPie and browse to its roms folder for reference on how each system folder is named. Either copy these folders to your networked server or manually create the folders on your networked server using the same directory names.
If you prefer to not use the EmulationStation system directory names and keep the current folder structure you have on your networked server you’ll need to edit
es_systems.cfg. Use this command to copy the configuration file to the home directory wherein it will be editable through SMB (//RETROPIE/configs/all/emulationstation) or FTP.
cp /etc/emulationstation/es_systems.cfg /home/pi/.emulationstation/es_systems.cfg
Mount your Share
If you haven’t already, now is a good time to tell Raspbian to wait for your network at boot.
In there, select “Boot Options” and tell it Yes.
sudo nano /opt/retropie/configs/all/autostart.sh
Add the following line to the top of that file, being sure to adjust it for your personal settings, paths and options. This will make the local roms folder use your remote server roms folder instead.
sudo mount -t cifs -o username=something,password=something //REMOTEHOST/path/to/roms /home/pi/RetroPie/roms
Good to know: If you’d like to host the entire RetroPie folder remotely you can do so by removing the
/romsdirectories from the mount command above. Make sure to have a copy of the RetroPie installation on your remote server or EmulationStation won’t be able to start RetroPie!
Restart your Raspberry Pi with
sudo reboot or by simply unplugging the power cord.
Alternatively, if you have a shared folder that allows guest access, you can use the following line in your
sudo mount -t cifs -o guest,uid=pi //hostname/retropie /home/pi/RetroPie
This should also allow you to write save files to your NAS.
Option 2: Add to fstab
Using your favorite editor, open up fstab:
sudo nano /etc/fstab
Add the line to mount your network share. Mine looks like this:
//192.168.1.10/Storage/ROMs /home/pi/RetroPie cifs username=Username,password=Password,nounix,noserverino,defaults,users,auto 0 0
First, make sure it will mount:
sudo mount -a
Restart and check the folder to make sure it didn’t have any issues mounting at boot
sudo ls RetroPie/roms/snes
With any luck (and if you have a ton of SNES ROMs like myself), it will be fairly apparent that it was able to mount the share at boot.
Go ahead and make sure everything works. Don’t get to far into a game though, you might not be able to save. If you hit ‘Select + R’ (default save command) and it gives you an error, the easiest solution I’ve found is as follows.
We need to edit retroarch.cfg by deleting the # infront of the savestate_directory and savefile_directory lines and put in the desired path. I’ll be using ~/RetroPie-Save. First, make the target folder:
cd mkdir RetroPie-Save sudo nano /opt/retropie/configs/all/retroarch.cfg
Mine looks like this:
savestate_directory = /home/pi/RetroPie-Save savefile_directory = /home/pi/RetroPie-Save
If you already have some save files, it would be a good idea to move them to the ~/RetroPie-Save folder we created.
For more information please visit: https://github.com/RetroPie/RetroPie-Setup/wiki/Running-ROMs-from-a-Network-Share
I’m not sure if this differs from other custom images but I’ve used the following setup/tutorial on Project HyperPie.
HUGE Thanks to Forrest aka “Eazy Hax” for developing this tool. We have added it run directly from the pi. Go grab his retropie toolkit, lots of good stuff in there and give his video a like, a comment and dont forget to subscribe.
Step 1. VERY IMPORTANT: You must make sure your RetroPie/HyperPie/Bartop Arcade/EmulationStation is connected to the internet via Wifi or direct ethernet cable. If you are not connected this will not work. (It downloads a file to your RetroPie before running the script).
Step 2. VERY IMPORTANT: Use a PC to format your USB drive, whether it is a HDD or just a USB stick, to NTFS. It will not work as any other File System format. (Most HDD’s are already formatted to NTFS).
Step 3. Create a folder in the root of your USB drive called “piroms.”
Step 4. Plug the USB drive into your pi and turn it on, or reboot it.
Step 5. Go to emulationstation by either quitting AttractMode and typing “emulationstation” in the command line (without the “”) or by the attract mode menu choosing to boot to emulationstation.
Step 6. Go to the RetroPie menu inside EmulationStation and scroll to “HDD expansion” and press this option.
Step 7. When it is done you can unplug your USB drive and plug it back into your PC to add your ROMs to the newly created system folders within “piroms/roms/“.
Step 8. Once you are done transferring plug the USB drive into your Pi and reboot or turn back on.
Step 9. Congratulations, your Expanded Rom Storage is now complete. Your roms are now available to play directly from your drive. no other configuration is needed.
**Note** If you ever wish to use a different drive, you must use the option to remove the HDD from the Retropie Menu. Then start the process over again. The script only allows for one (specific) drive to be connected at a time.
Probably one of the best Custom Images I’ve used on my Bartop Arcade/RetroPie setup. Everything just looks perfect and works without banging your head against the wall trying to figure something out. Also the support for this image is unbelievable.
Please note if you are going to the 64GB sd card route, you need to have a Flash Drive handy to use Forrest aka “Eazy Hax” USB Drive Expansion. This will enable you to place all of your ROMs on the flash drive; we need to do this because the HyperPie Image is about 59GB.