Running ROMs off of a USB drive in Retrosmc

So I am running Retrosmc and I purchased a 128GB USB drive to move my ROMs over. I read the guide for setting up this and tried the automatic method of formatting to FAT32 and creating a folder called retropie-mount and enabling the USB transfer service. None of this worked.

I then tried the manual method by moving the contents of home/osmc/RetroPie over to my usb drive and changing the fstab file to mount my usb as home/osmc/RetroPie. Whenever I tried this though emulation station would no longer load from inside OSMC and would hang and then reload OSMC.

I have been using Retrosmc without any problems for months and had just today decided to move my noms over to a USB drive and have it auto mount, but I think I’ve ended up breaking the RetroPie part completely.

I would appreciate any guidance on the matter.

Edit* by running sudo bash RetroPie/scripts/./retropie.sh I was able to get into emulation station but it is still not launching from OSMC. The RetroPie button within OSMC activates System.Exec(/home/osmc/RetroPie/scripts/retropie.sh) which I thought would do the same as what I had just done over SSH but apparently this script isn’t working within OSMC for some reason.

set a mount point for that directory :slight_smile:

Could you help me with that?
I thought that I was doing that when I was editing the fstab file.

what filesystem did you use and how does your fstab line look these are the basics things i need.

Fat32.

/dev/mmcblk0p1 /boot vfat defaults,noatime 0 0
/dev/mmcblk0p2 / ext4 defaults,noatime 0 0
UUID=27A8-11FE /home/osmc/RetroPie vfat nofail,user,uid=osmc,gid=osmc 0

The USB seems to be mounted fine because I was able to launch emulation station by SSH over to /RetroPie/scripts and launching the retropie.sh script. OSMC just can’t seem to launch this script for some reason.

Edit* I’ve just transferred a game to my USB and loaded emulation station by using SSH and sudo bash ./retropie.sh and the game was loaded and played perfect, so it’s just a matter of getting the launcher working within OSMC.

You colud only mount the rom directory feom the stick and leave the scripts on the root filesystem.
Thus is almost certainly some permission issue

Is there an easy way to fix the permission issue or am I better off having the USB mount the ROMs folder?

If I was to mount the rom folder what steps to I need to make? Move all folders back into home/osmc/RetroPie on the SD card and have the fstab file mount my usb to home/osmc/RetroPie/roms?

As this is a fat formatted stick, linux or kodi might have problems launching stuff from it without x flag set.

To revert it, yes, you need to copy everything back to the home folder. As you removed it from there and put it on a fat32 stick, you would have to give it the rights and owner it had before. For every file!
Then move the rom directory to the usb stick and mount it in your fstab to the now empty rom directory on the sdcard.

If you want it easier, reinstall retrosmc and move and mount only the rom folder. That should work.

Edit: The things that retropie does in their own image do not necessarily work on osmc as stuff like automounting and rsyncing directories is not implemented in osmc.

If you do not know what you are doing, better ask before doing it instead of copying commands from tutorials made for a different distribution into the terminal :wink:

Edit2: I added the missing rom syncing to the first post of the retrosmc thread.

Thanks, I decided to just have it mount the roms folder like you said and seems to be working okay so far.

Can anyone share the steps you’d need to take to mount a USB stick please?

Can’t find anything! I’ve got retrosmc installed but want to keep my ROMs on a USB stick if possible.

Thanks

USB drives are automatically mounted under /media.

This true on a raspberry pi?

When I plug my USB in, OSMC detects a usb drive but when I move into retrosmc there are no ROMs.

All OSMC systems – the mount is added system wide; so will be available to all applications.

In order for emulation station to find the roms they need to be in a special directory structure like in /home/osmc/Retropie/roms. Either you do a copy that folder structure on to your usb, and put the roms in the corecct folder then you soflink that folder on your usbdrive to /home/osmc/Retropie/roms

, or you replace the snes folder with a soft-link to the folder on you usbdrive that contains the snes roms.

example:

cd ~/Retropie/roms
rm -rf snes
ln -s /media/LABEL_OF_YOUR_USBDRIVE/FOLDER_WHERE_SNES_ROMS_ARE ./snes

of course you replace those italics placeholders with the info on your system

1 Like

How can I see that structure joakim?

Easiest would be to ls in a ssh session:

ls ~/Retropie/roms

Personally i prefer to do it emulator by emulator and replace the folder to a softlink to a folder on your usb-drive instead

Ok thanks, how do I “softlink” please? Not familiar with that term.

The command Joakim gave above does that. A softlink is a way to make a file or folder redirect to a new location (although that is a oversimplification). The command he gave you moves you to the folder your playing with (cd), deletes the snes folder and everything in it without warning (rm -rf), and the (ln -s) command is what makes the soft link.

If you don’t know what the label (mount path) of your USB drive is then you can just type “df” to find that out.

1 Like

That has worked perfectly thanks a lot for your help guys!

1 Like