Homepage Forums RetroPie Project Everything else related to the RetroPie Project Best way to run/manage roms stored in USB drive

Viewing 35 posts - 1 through 35 (of 36 total)
  • Author
    Posts
  • #115301
    nastywindbreaker
    Participant

    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.

    #115305
    labelwhore
    Participant

    All 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.

    #115313
    nastywindbreaker
    Participant

    Thanks 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.

    #115329
    InsecureSpike
    Participant

    yup, same as labelwhore

    #115334
    labelwhore
    Participant

    you 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.

    #115347
    dankcushions
    Participant

    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

    #115348
    labelwhore
    Participant

    So, 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.

    #115356
    nastywindbreaker
    Participant

    Guys 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.

    #115380
    nastywindbreaker
    Participant

    Ok, lets see if my assumptions are correct..
    If i use this syntex

    ln -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 !!!

    #115395
    labelwhore
    Participant

    That 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.

    #115399
    InsecureSpike
    Participant

    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

    #115417
    deepdivered
    Participant

    [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

    #115448
    labelwhore
    Participant

    [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.

    #115456
    smartroad
    Participant

    I 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 line

    UUID=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 and 2 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 with

    sudo mount -a

    if you then type df -h you should see something like

    Filesystem      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

    #115460
    InsecureSpike
    Participant

    i may too look into the uuid bit!

    thanks!

    yeah defo ext4! much faster!

    #115471
    labelwhore
    Participant

    Just 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.

    #115475
    InsecureSpike
    Participant

    yup, the power block is quite good! work great on my 2 retropie’s

    #115485
    nastywindbreaker
    Participant

    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

    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?

    #115487
    nastywindbreaker
    Participant

    I 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.

    #115491
    dankcushions
    Participant

    the 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.

    #115817
    nastywindbreaker
    Participant

    Hello 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/usb0

    So 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?

    #115835
    InsecureSpike
    Participant

    if 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

    #115871
    labelwhore
    Participant

    I 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!

    #115997
    nastywindbreaker
    Participant

    es_systems.cfg edit has been done already. This is using both methods (es_systems.cfg and smartroad’s remounting the usb drive).

    #115998
    nastywindbreaker
    Participant

    for NeoGeo, I see the roms but cannot get past the brief blank screen and then back to emulationstation menu

    #115999
    InsecureSpike
    Participant

    what have you done so far for setting up neogeo?
    maybe we can help?

    #116006
    labelwhore
    Participant

    That’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.

    #116054
    nastywindbreaker
    Participant

    Instead 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.

    #116066
    nastywindbreaker
    Participant

    still 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?

    #116086
    dankcushions
    Participant

    each 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?

    #116116
    nastywindbreaker
    Participant

    temp/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…

    #116120
    labelwhore
    Participant

    Have 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.

    #116122
    InsecureSpike
    Participant

    neogeo.zip should be 1,511,899 bytes

    #116124
    dankcushions
    Participant

    /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.

    #116222
    nastywindbreaker
    Participant

    Thanks 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.

Viewing 35 posts - 1 through 35 (of 36 total)
  • The forum ‘Everything else related to the RetroPie Project’ is closed to new topics and replies.