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