RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Running advmame roms from USB drive

    Scheduled Pinned Locked Moved Help and Support
    16 Posts 6 Posters 5.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • GabhanEISG
      GabhanEIS
      last edited by

      Hi,

      Pi Model: 2
      RetroPie Version Used: 3.8.1
      Built From: SD Image
      USB Devices connected: 16GB USB Drive
      Controller used: Keyboard
      Emulator: AdvMame

      For some reason, I cannot get my AdvMame roms to run from an external USB drive. I've updated the path to the roms in the es_systems.cfg file and on restart, the roms are visible. I can click them and run them once there is a copy of them in the original /home/pi/RetroPie/roms folder. But if I remove the copy in that folder and restart, although the roms still appear in the list, they no longer run. The errors that appear in the log file is that the rom files cannot be found (as if they are missing from the archive) but copying any individual rom back to the /home/pi/RetroPie/roms folder gets it loading again just fine. Any ideas or help appreciated - I've been building an arcade cabinet with the kids and would love to get this part sorted.

      Update:- My brother has also tried this with his Pi 2 and has the same problem. Is there somewhere else that I need to update the roms path to get this to work? When testing, you need to be careful that RetroPie isn't copying the roms back from the USB drive - as this will cause them to work - but will fill up your SDCard pretty quickly - if you have lots of roms and only an 8GB SDCard

      Gabhan

      briankrossB 1 Reply Last reply Reply Quote 0
      • briankrossB
        briankross @GabhanEIS
        last edited by briankross

        @GabhanEIS

        See if

        helps.

        Edit: Remember to remove duplicates in your micro sd card rom folder.

        • Brian
        1 Reply Last reply Reply Quote 0
        • GabhanEISG
          GabhanEIS
          last edited by

          Thanks for the suggestion. I followed this tutorial to the letter but it doesn't work - at least with a Pi 2 and the latest RetroPie (I can repeat the problem on at least 3 Pi 2s with different USB drives and the latest RetroPie image). The tutorial copies the games to the USB drive, and that part does work. What doesn't work is that the games will not load when removed from the sdcard. So the list of games will be retrieved from the usb drive, but something in the code is still trying to actually load the rom from the /home/pi/RetroPie/roms folder.

          1 Reply Last reply Reply Quote 0
          • BuZzB
            BuZz administrators
            last edited by

            Yes. You should mount the USB drive over /home/pi/RetroPie/roms or symlink it - you should not change /etc/emulationstation/es_systems.cfg (the tutorial is wrong)

            To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

            briankrossB 1 Reply Last reply Reply Quote 3
            • GabhanEISG
              GabhanEIS
              last edited by

              Perfect - will give that a try and report back for anyone trying this in future. Many thanks.

              1 Reply Last reply Reply Quote 0
              • briankrossB
                briankross @BuZz
                last edited by

                @BuZz said in Running advmame roms from USB drive:

                Yes. You should mount the USB drive over /home/pi/RetroPie/roms or symlink it - you should not change /etc/emulationstation/es_systems.cfg (the tutorial is wrong)

                Ouch, good to know.

                • Brian
                1 Reply Last reply Reply Quote 0
                • GabhanEISG
                  GabhanEIS
                  last edited by

                  Reporting back - moving the entire roms folder to the USB drive and mounting the drive as /home/pi/RetroPie/roms works perfectly. I've added this to fstab and all seems to be working well. Many thanks for the help - my arcade buttons and joystick arrived today so now really looking forward to hooking everything up!

                  briankrossB 1 Reply Last reply Reply Quote 0
                  • briankrossB
                    briankross @GabhanEIS
                    last edited by

                    @GabhanEIS said in Running advmame roms from USB drive:

                    Reporting back - moving the entire roms folder to the USB drive and mounting the drive as /home/pi/RetroPie/roms works perfectly. I've added this to fstab and all seems to be working well. Many thanks for the help - my arcade buttons and joystick arrived today so now really looking forward to hooking everything up!

                    How did you mount the drive?

                    • Brian
                    1 Reply Last reply Reply Quote 0
                    • GabhanEISG
                      GabhanEIS
                      last edited by

                      Not a linux expert by any means, but this is what I did:

                      • Fresh install of RetroPie from the sdcard image

                      • Run through the initial setup on the Pi - expanding the file system - until EmulationStation boots up

                      • F4 to go to terminal - sudo su - to ensure permissions

                      • cp -ar /home/pi/RetroPie/roms/ /media/usb0/

                      • rm -rf /home/pi/RetroPie/roms

                      • mkdir /home/pi/RetroPie/roms

                      • mount /dev/sda1 /home/pi/RetroPie/roms

                      • Copy some roms using samba from a PC/Mac machine to the correct roms folder

                      • Restart EmulationStation and test roms work correctly - in my case they worked perfectly. This will work as long as /dev/sda1 is mounted at /home/pi/RetroPie/roms. However, this mount will not be there on reboot. To ensure it's automatically mounted, you can modify the fstab file as follows:

                      • nano /etc/fstab

                      • Add a line to the end of the file as follows

                      • /dev/sda1 /home/pi/RetroPie/roms vfat defaults 0 0

                      I just researched this on part on Google, so you need to make sure your usb drive is /dev/sda1 using the command df -h. Find your USB drive in the list and substitute as appropriate. There are lots of good Linux tutorials on this on the web. Hope this helps out other Linux newbies like myself. It's only an sdcard image anyway, so if it goes wrong and it won't reboot, you can just reload the sdcard from your PC.

                      briankrossB 1 Reply Last reply Reply Quote 2
                      • briankrossB
                        briankross @GabhanEIS
                        last edited by

                        @GabhanEIS

                        Awesome, thank you. :)

                        • Brian
                        1 Reply Last reply Reply Quote 0
                        • dankcushionsD
                          dankcushions Global Moderator
                          last edited by

                          i added the guide to the wiki: https://github.com/RetroPie/RetroPie-Setup/wiki/Running-ROMs-from-a-USB-drive

                          it's slightly from memory and googling what i think i did before, so i hope there's no mistakes! please let me know/edit if so :)

                          briankrossB herb_fargusH O 3 Replies Last reply Reply Quote 3
                          • briankrossB
                            briankross @dankcushions
                            last edited by

                            @dankcushions said in Running advmame roms from USB drive:

                            i added the guide to the wiki: https://github.com/RetroPie/RetroPie-Setup/wiki/Running-ROMs-from-a-USB-drive

                            it's slightly from memory and googling what i think i did before, so i hope there's no mistakes! please let me know/edit if so :)

                            Right on!

                            • Brian
                            1 Reply Last reply Reply Quote 1
                            • herb_fargusH
                              herb_fargus administrators @dankcushions
                              last edited by

                              @dankcushions awesome thanks for doing that. I'm sure we'll automate it with a module sometime but the guide is great

                              If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

                              Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

                              1 Reply Last reply Reply Quote 2
                              • O
                                orgon3 @dankcushions
                                last edited by

                                @dankcushions Thanks so much! After following your guide to the letter, it works, with a few caveats.

                                1. the copy command yields a few errors that it cannot copy symlinks
                                2. getting a weird "operation not permitted" even though ls -al shows full permissions for everyone. I am getting that when EmulationStation runs an sh command, and in retropie_setup.sh when updating certain emulators.
                                3. When attempting to play certain games/emulators (example, pc port, opentyrian) I get an "operation not permitted" error and I cannot play the game.

                                I didn't know how to fix it when it says it can't do something and I see the file permissions says it can ;_;

                                Perhaps all three are linked to the same issue? My fix for now would be to wipe my sd card, put on raspbian, setup the usb stick in fstab, and THEN start the installation?

                                dankcushionsD 1 Reply Last reply Reply Quote 1
                                • dankcushionsD
                                  dankcushions Global Moderator @orgon3
                                  last edited by

                                  @orgon3 said in Running advmame roms from USB drive:

                                  @dankcushions Thanks so much! After following your guide to the letter, it works, with a few caveats.

                                  1. the copy command yields a few errors that it cannot copy symlinks
                                  2. getting a weird "operation not permitted" even though ls -al shows full permissions for everyone. I am getting that when EmulationStation runs an sh command, and in retropie_setup.sh when updating certain emulators.
                                  3. When attempting to play certain games/emulators (example, pc port, opentyrian) I get an "operation not permitted" error and I cannot play the game.

                                  I didn't know how to fix it when it says it can't do something and I see the file permissions says it can ;_;

                                  Perhaps all three are linked to the same issue? My fix for now would be to wipe my sd card, put on raspbian, setup the usb stick in fstab, and THEN start the installation?

                                  hmm, i think maybe a mv would be better than a copy?
                                  sudo mv /home/pi/RetroPie/* /media/usb0/ - it's less steps, certainly! guide updated...

                                  i'm not sure about the permissions thing, and i don't use any of the PC emulators/ports, so not sure about that :( possibly it has to do with relative symlinks - if any exist in retropie they need to be converted to hardlinks before they're moved. this is a bit beyond my linux level, so i'm just guessing here :(

                                  O 1 Reply Last reply Reply Quote 0
                                  • O
                                    orgon3 @dankcushions
                                    last edited by

                                    @dankcushions said in Running advmame roms from USB drive:

                                    @orgon3 said in Running advmame roms from USB drive:

                                    @dankcushions Thanks so much! After following your guide to the letter, it works, with a few caveats.

                                    1. the copy command yields a few errors that it cannot copy symlinks
                                    2. getting a weird "operation not permitted" even though ls -al shows full permissions for everyone. I am getting that when EmulationStation runs an sh command, and in retropie_setup.sh when updating certain emulators.
                                    3. When attempting to play certain games/emulators (example, pc port, opentyrian) I get an "operation not permitted" error and I cannot play the game.

                                    I didn't know how to fix it when it says it can't do something and I see the file permissions says it can ;_;

                                    Perhaps all three are linked to the same issue? My fix for now would be to wipe my sd card, put on raspbian, setup the usb stick in fstab, and THEN start the installation?

                                    hmm, i think maybe a mv would be better than a copy?
                                    sudo mv /home/pi/RetroPie/* /media/usb0/ - it's less steps, certainly! guide updated...

                                    i'm not sure about the permissions thing, and i don't use any of the PC emulators/ports, so not sure about that :( possibly it has to do with relative symlinks - if any exist in retropie they need to be converted to hardlinks before they're moved. this is a bit beyond my linux level, so i'm just guessing here :(

                                    Well, the problem also occurs when attempting to upgrade. For me, a useful feature. In the end, I'll resort to having a few systems stored on my sd card and a few on my usb stick. I'll probably end just editing the cfg file for now and changing the specific system's path. Even installing just the core creates a symlink for genesis.

                                    Thanks for your help though! I'm sure some linux guy will reply.

                                    1 Reply Last reply Reply Quote 1
                                    • First post
                                      Last post

                                    Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                    Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.