Homepage › Forums › RetroPie Project › Everything else related to the RetroPie Project › Best way to run/manage roms stored in USB drive
- This topic has 35 replies, 6 voices, and was last updated 8 years, 10 months ago by labelwhore.
-
AuthorPosts
-
01/27/2016 at 16:04 #115301nastywindbreakerParticipant
Hi,
I have 8gb card with Retropie/Kodi installed, but I have been struggling to run the Roms from my Sandisk 64GB usb 2.0 Drive. I have edited es_systems.cfg file with /media/usb0/ instead of /home/rp/. I have been able to edit certain emulator configs also with above mention changes. Emulators config files that are editable are PSX and Mame. I have not been able to find any configurations to edit for other emulators. Am I supposed to edit the rom location link for these files somewhere else. Kindly help!!!! Also this task is very tedious and repetitive, I am not sure if anyone has been able to develop a batch script to make it smooth. I am sure I am not the first one to use roms from USB drive.
01/27/2016 at 16:47 #115305labelwhoreParticipantAll I’ve needed to do was point es_systems.cfg to the new rom location. Another possible solution is to create a symlink in place of or inside the default rom folder that points to the media/usb0. I’ve used both methods.
One thing I did notice is that you need to format the drive or usb stick in such a way that it’s fast enough. (and I assume you want to be able to read and write to the drive via windows) I used ext4 on a 1 TB usb drive I recently starting using with my pi.
01/27/2016 at 18:39 #115313nastywindbreakerParticipantThanks for replying, i have changed rom locations on es_systems.cfg. Can you please guide me with “create a symlink in place of or inside the default rom folder that points to the media/usb0”
So far process works for dream cast, psx and mame4all, other emulators show me the game list but return back to emulation station after a blank screen as I try to play them.
01/27/2016 at 21:20 #115329InsecureSpikeParticipantyup, same as labelwhore
01/27/2016 at 21:40 #115334labelwhoreParticipantyou can create a symlink using the ln command like this:
ln -s {target-filename} {symbolic-filename}
so for me that command looked like this for psp:
ln -s /media/usb0/psp /home/pi/RetroPie/roms/psp/usb0
Why did I place the symlink inside the psp folder? I can hear you asking yourself. I did that because I ran this multiple times to cover multiple usb drives. To cover all the bases like I did, you’ll want to run this up to 8 times; usb0 through usb7.
I did usb0 through usb3.
01/27/2016 at 22:59 #115347dankcushionsParticipanti go one step further and symlink the entire roms directory, so i just have to do it once if i reinstall. i copy all the ‘default’ roms to my USB stick beforehand, and use the same filestructure
01/27/2016 at 23:47 #115348labelwhoreParticipantSo, I just set this up on my end the other day and have problems displaying the art for each game. ES is throwing errors complaining that the roms are outside the system path. How might I fix that?
Everything else is working perfectly here. I only set this up for 3 emulators, so it’s not a huge deal, just a little annoying.
01/28/2016 at 01:30 #115356nastywindbreakerParticipantGuys pardon my ignorance, where do I place this symlink command line? Do I need to edit a config file? I am sorry I’m new to this Linux thing.. Thanks for all the replies.
01/28/2016 at 04:09 #115380nastywindbreakerParticipantOk, lets see if my assumptions are correct..
If i use this syntexln -s /media/usb0/retropie/roms /home/pi/RetroPie/roms
this shoud point my roms stored in usb over to the default RetroPie roms location.. Right?
Still no luck !!!
01/28/2016 at 06:12 #115395labelwhoreParticipantThat way makes me a little nervous. It’s harder to undo. You need to delete the /home/pi/RetroPie/roms folder first, because the symlink will take it’s place.
01/28/2016 at 07:28 #115399InsecureSpikeParticipantall I’ve done is point the es_systems.cfg to the USB drive, seems to work well enough for me, and it’s less hassle than creating symlinks. imho
also I did manually create all my gamelists so I have all artwork in the rom folder
01/28/2016 at 12:07 #115417deepdiveredParticipant[quote=115347]i go one step further and symlink the entire roms directory, so i just have to do it once if i reinstall. i copy all the ‘default’ roms to my USB stick beforehand, and use the same filestructure[/quote]
i am gonna upgrade to the new retropie version , editing the cfg took for ever this is so much faster and will avoid issues with gamelist.xml also , so ill be doing this , dont see how some thing this is not fast …….u write that one line into your terminal as apposed to editing each system in the cfg
01/28/2016 at 14:37 #115448labelwhoreParticipant[quote=115399]all I’ve done is point the es_systems.cfg to the USB drive, seems to work well enough for me, and it’s less hassle than creating symlinks. imho
also I did manually create all my gamelists so I have all artwork in the rom folder
[/quote]
I’ll probably go back to just doing it that way. I was attempting to standardize the way it works on my pi and one I’ve worked on for a friend. The symlinks are what I came up with so that I wouldn’t have to tweak anything once I copy my image for my friend.01/28/2016 at 15:10 #115456smartroadParticipantI mounted my USB stick as
~/RetroPie/roms/
I formatted the disk to ext4 as it provided a good read/write speed compared to FAT (and I don’t plan on removing the drive anyway as I backup ROMs over the network).
Then I found the drives unique ID (UUID) with this command
ls /dev/disk/by-uuid
once before I plugged in the drive and once after to see which uuid appeared. Once I knew the uuid I opened the fstab file:
sudo nano /etc/fstab
which opened as
proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat defaults 0 2 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 # a swapfile is not a swap partition, no line here # use dphys-swapfile swap[on|off] for that
after
/dev/mmcblk0p2
I added the lineUUID=44916713-0138-40f9-a7de-68266894bd20 /home/pi/RetroPie/roms auto defaults 0 2
this line is the UUID found in above, then the directory I want it to mount at,
auto
means automatically decide the filesystem,defaults
is the default rw access (and some other stuff),0
means don’t backup and2
is the order for error checking. (See https://help.ubuntu.com/community/Fstab for more details).Next you need to delete the current contents on the
/rom/
directory (make sure you have backups!!) so that it is empty – mounting devices needs to have empty mount points. I used WinSCP as it was easier than using the command line.Once the
/rom/
directory is empty you just need to tell the system to remount the drives withsudo mount -a
if you then type
df -h
you should see something likeFilesystem Size Used Avail Use% Mounted on /dev/root 15G 2.7G 12G 20% / devtmpfs 364M 0 364M 0% /dev tmpfs 368M 0 368M 0% /dev/shm tmpfs 368M 5.3M 363M 2% /run tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 368M 0 368M 0% /sys/fs/cgroup /dev/mmcblk0p1 57M 20M 38M 35% /boot /dev/sda1 59G 3.8G 52G 7% /home/pi/RetroPie/roms
Maybe not the best way but works for me. One word of warning you have to unmount the drive manually if you want to take it out! Without doing it you will most likely end up with errors or data corruption. If the Pi is off then there is no issue taking it out.
Although I formatted the drive to ext4 there is no reason why you couldn’t format it as FAT and then you could still access it with a Windows PC to.
Not sure if this helps but was my solution :D
01/28/2016 at 15:25 #115460InsecureSpikeParticipanti may too look into the uuid bit!
thanks!
yeah defo ext4! much faster!
01/28/2016 at 16:05 #115471labelwhoreParticipantJust agreeing with the umount bit. As a safety measure, a button to trigger a shutdown or reboot command is an absolute must with your roms on a usb drive.
01/28/2016 at 16:20 #115475InsecureSpikeParticipantyup, the power block is quite good! work great on my 2 retropie’s
01/28/2016 at 16:49 #115485nastywindbreakerParticipantall I’ve done is point the es_systems.cfg to the USB drive, seems to work well enough for me, and it’s less hassle than creating symlinks. imho
also I did manually create all my gamelists so I have all artwork in the rom folder
I have made all the changes in es_systems.cfg file. The roms folder in /home/RetroPie/ location has been deleted also. I have also used the syslink of
ln -s /media/usb0/retropie/roms /home/pi/RetroPie/roms
I am showing no progress, I have seen replies regarding uuids but they seem too complicated for my understanding. Part that confuses me is … Why do mame, pcx, nes, n54, dreamcast emulators work but neogeo, gamegear, FB7 are showing game lists but do not run games?
01/28/2016 at 16:55 #115487nastywindbreakerParticipantI am sure there are several members in community who are using USB drive for storing the roms and use a small microsd/sd cards for running the distro.
There is no clear tutorial to follow for doing this installation for Retropie 3.3 version. I would really find such tutorial helpful and I do not mind starting over instead of fixing errors.
01/28/2016 at 17:07 #115491dankcushionsParticipantthe es_system.cfg change is one way of doing it, and the symlink way is another. you appear to have done both and that will just make both not work :)
the symlink instructions posted by @smartroad are exactly how i did it and a perfect tutorial for that method IMO. you can’t get it any simpler because it needs all those steps. it’s not particularly easy because you’re trying to get around the fact that linux assumes USB is temporary storage, and make it treat it like a static drive.
the es_system way is just to edit the es_system.cfg to point to the relevent directories on the USB drive. there’s videos on this:
note you also need to turn off the USB rom service in the retropie setup menu, for both methods.
02/01/2016 at 01:33 #115817nastywindbreakerParticipantHello again,
I followed the recommendations from dankcousions and followed through smartroad’s instructions. I did disable usb rom service prior to initiation.
Here is what I got when I typed
UUID=02d07da5-a049-462b-8a0c-99b265134a22 /home/pi/RetroPie/roms auto defaults 0 2
I got this error?
-bash: /home/pi/RetroPie/roms/: Is a directory
but i still continued and I am seeing this
Filesystem Size Used Avail Use% Mounted on
/dev/root 7.2G 2.5G 4.4G 37% /
devtmpfs 364M 0 364M 0% /dev
tmpfs 368M 0 368M 0% /dev/shm
tmpfs 368M 5.2M 363M 2% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 368M 0 368M 0% /sys/fs/cgroup
/dev/mmcblk0p1 57M 20M 38M 35% /boot
/dev/sda1 56G 19G 35G 35% /media/usb0So the only difference I note from smartroad’s final output is /dev/sda1 output.’
Well final output is definitely better, I do have most of the emulators working but my favorite NeoGeo and Final burn emulators are still no go… Is there a different way to config these emulators?
Also, doing this above mentioned method, I have lost the “other ports” link on emulationstation!! how can I re-enable that?
02/01/2016 at 06:44 #115835InsecureSpikeParticipantif your having issues with symlinking just get a copy of your es_systems.cfg point all off the rom paths to your usb drive, don’t worry about the uuid it’s not too important if your just going to use 1 usb drive
oh and delete your symlinks
02/01/2016 at 15:46 #115871labelwhoreParticipantI went back to the es_systems.cfg method also. The lack of art for the 3 systems running from my HDD was driving me nuts!
02/02/2016 at 04:41 #115997nastywindbreakerParticipantes_systems.cfg edit has been done already. This is using both methods (es_systems.cfg and smartroad’s remounting the usb drive).
02/02/2016 at 04:41 #115998nastywindbreakerParticipantfor NeoGeo, I see the roms but cannot get past the brief blank screen and then back to emulationstation menu
02/02/2016 at 04:50 #115999InsecureSpikeParticipantwhat have you done so far for setting up neogeo?
maybe we can help?02/02/2016 at 05:34 #116006labelwhoreParticipantThat’s likely not anything to do with your hdd, if ES sees the roms, I think you’re hdd is probably good. To me, that sounds like the wrong roms, the wrong bios, or some other error.
02/02/2016 at 19:33 #116054nastywindbreakerParticipantInstead of fixing what’s broken, I am doing whole install again. I already have roms in USB that is in Ext4 format. I will disable USB rom service and run through smartroad’s method. I will also replace es_systems.cfg with changes such that roms are pointed to USB drive.
I don’t think roms are bad and I have been using the bios that should work (never can verify that) but I have unzipped them while keeping the zips intact in the same folder.
I will update if it works this time.
02/02/2016 at 21:44 #116066nastywindbreakerParticipantstill no go!!!! with NeoGeo :-( (still can’t get metal slug going), Could it be bios error?
should they be in root folder or individual folders? is there a seperate config for NeoGeo?02/03/2016 at 01:05 #116086dankcushionsParticipanteach rom should be a .zip with several files inside. the bios should be another .zip called neogeo.zip. both of these should be in your neogeo folder.
what’s the runcommand.log say?
02/03/2016 at 17:19 #116116nastywindbreakerParticipanttemp/runcommand.log is empty? Where do I dedit Fba and NegoGeo configs and see errors? This is getting frustrating. I have reinstalled OS several times now and this problem persists. I have not even started playing with bluetooth drives for ps3 controllers and configuring mame to use joysticks…
02/03/2016 at 17:43 #116120labelwhoreParticipantHave you rebuilt your romset? The only real way to be sure you have the correct roms for the mame, neogeo, or fba emulator you want to use is to rebuild the set yourself.
The wrong roms or wrong bios will result in the behavior you’re describing.
https://github.com/retropie/RetroPie-Setup/wiki/Managing-ROMs
For example, I know of a complete neogeo set on a commonly used rom site that will not work in any of the emulators on the pi.
02/03/2016 at 17:54 #116122InsecureSpikeParticipantneogeo.zip should be 1,511,899 bytes
02/03/2016 at 17:57 #116124dankcushionsParticipant/tmp/runcommand.log will have information in it after a successful OR unsuccessful rom load. you must be looking in the wrong place. try running a rom that does work and checking for it.
are you reinstalling your system and then doing all this USB drive mapping before you actually get a neogeo game to run? it’s difficult to see where your problems are because you seem to be doing lots of things at once. a fresh retropie install will run a correctly sourced neogeo rom, if it has the right bios installed. there’s no configuration needed.
02/04/2016 at 16:54 #116222nastywindbreakerParticipantThanks team for checking on this issue. My leisure time has been in crunch!!. I did run the emulator and when it does not run the rom, I checked the /tmp/runcommand.log and honestly when I do “sudo edit” nothing is there.. I was surprised. I have changed 3 romsets because having corrupted romset was one of my thoughts. I don’t think I have the expertesie to rebuild romset. I will definitely check the romsize for neogeo.zip. Also it was a clean install and then I did the USB drive mapping. I do agree with dankcoushious regarding “doing too many thinks at the same time” but this time it was just a simple install.
What I noted that few FBA roms work and 90% don’t… I cant figure that out either.
-
AuthorPosts
- The forum ‘Everything else related to the RetroPie Project’ is closed to new topics and replies.