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

Migrating a working RetroPie setup to the new Stretch image



  • Hi all,

    I'm starting this thread as I recently bought the Pi 3B+ and instead of attempting to manually upgrade everything from the previous image, I thought it'd be faster and more effective to start with the fresh Stretch image and just copy/rsync over any relevant assets.

    So far, the main things that have occurred to me - and I plan on updating these as more surface - are:

    /etc/emulationstation
    /home/pi/RetroPie/roms
    /opt/retropie/configs
    /home/pi/RetroPie/BIOS
    

    Other non-specific things to migrate:

    • Check for specific changes to /boot/config.txt
    • Check for non-default emulators you have installed, and install them in the new image.
    • Check for any installed overlay folders (if not under configs)
    • Check for splashscreens
    • Check for artwork and media folders (if not under roms)
    • If migrating from an older FBA version, the highscores might have been stored in a different folder. They used to be (at least in mine) in the rom folder, now they're under <romfolder>/fba . Same goes for the hiscore.dat file, which is under BIOS/fba . Read docs for further details.

    Anything here strikes you as wrong? Anything obvious I might be missing?

    Would appreciate feedback or perspective so that hopefully this helps others.

    Thanks.

    EDIT: added BIOS. Removed .emulationstation.
    EDIT 2: non-specific folders, but heads up for people.


  • Global Moderator

    @pjft BIOS files ? The /home/pi/RetroPie/BIOS folder I think.



  • Did same thing while ago. I only did copy files i really needed. There could be lots of garbage in the dirs you have given. For example cheats, better to redownload them again, backing those up takes ages.

    Don't know if you are a Kodi user? Perhaps you want to backup (parts of) the Kodi dir too.



  • @pjft As suggested in the Docs, I copy the four folders available by default through SAMBA shares: bios, configs, roms and splashscreens. The process includes the folders you mention but it does mean I can use one application to create a back-up ready to move to a fresh image.



  • @mitu Thanks, good call. I have mine in a USB drive so I completely missed that.

    @Shadowron I am indeed using Kodi. You're right on that. I think it's stored in the configs folder - same with emulationstation, in fact. Will update.

    @dudleydes Thanks. By the way, side tracking, I believe I recall you liking the ZX Spectrum. I recently submitted an update to lr-fuse to allow for keyboard remapping from the joypad. Thought you'd like it.



  • @pjft Edit: removed


  • administrators

    @shadowron on retropie /home/pi/.kodi is a symlink to /opt/retropie/configs/ports/kodi (so we keep all our configs together) - the home directory can be moved across completely from an old install to a new also. Or updating retropie packages will put the symlinks back.



  • @buzz Didn't know that, but it explains why i had issues. Will remove reply. Thanks for correcting me... again.


  • administrators

    @shadowron rather than removing you can strike through it - (two tildes) makes the conversation flow more logical.



  • If someone (like me) has created custom systems, related paths should be backed up also.

    Is there any Pi tool or script to be used for this kind of file backup and restore ?



  • @udb23 what do you mean - and how did you create - them?

    The ES custom collections are stored in /home/pi/.emulationstation/collections so that's one I mentioned there.

    Anything else you had in mind?



  • @pjft Not related to custom collections. You can create your own system in emulationstation as shown in the link.
    E.g. I created the VIC-20 system (basically added a modified C64 system with own runcommand and logo); requires also changes to the theme.

    Just rechecked and if you keep the system and customized theme in the usual folders they will be under /configs/ so backing all subfolders already will include these customisations.



  • Also backing up installed overlays should be considered; usually in:
    /opt/retropie/emulators/retroarch/overlays/arcade-bezels/



  • @udb23 good catch. I thought these would be under configs?



  • They are, these folders just worked fine for me, except I get a blackscreen after cutting the power without shutting down before, but that is another tale to tell.



  • @pjft Thats's were they are usually suggested to be saved.
    Still everybody installing them manually is free to decide where to place overlays by editing overlay specific CFGs accordingly.



  • @udb23 Thanks. Added a note on that and a few other bits and bobs that I had since noticed in my upgrade.



  • @pjft Do you have a script to perform this file backup and restore ? It could be useful to me too :-)



  • @udb23 I certainly don't. I mostly plug the second SD card to the USB port with a reader, run

    df
    

    to check what USB device it's on (sda, sdb), and then assuming it's sdbfor the sake of this exercise, and I'm currently running the Jessie pi, I'd run:

    sudo mkdir /backupmnt
    sudo mount /dev/sdb2 /backupmnt
    rsync --dry-run --delete --partial --ignore-errors  -avzh <source path> /backupmnt/<destpath parent folder>
    

    and, if all went well, then I'd run the rsync command without dry-run.

    I only learned after a few tests that if I ran, for instance,

    sudo rsync --delete --partial --ignore-errors  -avzh /opt/retropie/configs /backupmnt/opt/retropie/configs
    

    That it'd create a configs folder under the destination path, so for that case I need to run

    sudo rsync --delete --partial --ignore-errors  -avzh /opt/retropie/configs /backupmnt/opt/retropie/
    

    Still, when you run with --dry-run it'll list you the files it'll copy over and the ones it'll delete, so you'll have a sense of whether it sounds right. This will only copy new or modified files, and delete existing ones in the destination that don't exist in the source.

    Remember to unmount it in the end :)

    Happy to chat further about it if it helps.

    EDIT: for clarity, I run the rsync command for each of the folders.



  • @pjft Thanks a lot. Really good to know!


Log in to reply
 

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.