Hi there, I want to approach some recurring email messages in my inbox related to custom RetroPie images for Berryboot from gaming websites like: Arcade Punks and RetroManiacUS. Some of you remember Berry2Pay, a service to download custom RetroPie images for Berryboot created by myself. Well, in order to be more practical, I’ll not bringing back Berry2Pay service nor convert custom game images for Berryboot, instead, I’ll show you how you can extract any rom from any custom game image for any device.
I think a better idea of getting several custom game images with thousand of roms in each one, is to have one main custom game image with all your favorite roms in it, that sounds good to me. In order to do this, all you need is basic linux knowledge and no more than a couple of dollars, it is easy but not free, however, you can do this on your local desktop computer at your own risk. The basic idea of all this is to get a VPS instance, download the custom game image, extract the roms, compress them and download them.
Getting a VPS instance
You can use Vultr and Digital Ocean services to get a VPS instance at very reasonable price, however I recommend Wishosting because they have good VPS packages like: “KVM HDD 500” with a lot of disk storage which is perfect to extract roms from big custom game images. So, the best way to show you how this works is by example, I’m going to download a custom game image, I’ll locate the rom directory, zip it and download it. I’m going to use Vultr because I have credit there.
Vultr VPS Instance
I‘ve created an SSD Cloud Instance (with Debian 10) which cost $0.030USD per hour. More Cloud Instances and their prices here.
Once the Cloud Instance is created and online, Vultr will send you the SSH login details to the email account that you use on your Vultr account. Now it’s time to access to the instance via SSH and run a quick command line to upgrade the OS, install basic linux packages and reboot it. Once you’re in, execute the following command lines:
apt update; apt upgrade -y; apt dist-upgrade -y; apt autoremove -y && apt install aria2 zip p7zip-full -y && shutdown -r now
That single command line will upgrade your Cloud Instance OS, install the basic packages and reboot itself. Once that’s completed, login again, it’s time to choose which game image you want to extract roms. I’ve selected: “Batocera 5.29 RPi3 Gaming Collection 16GB By_Clebinho” available on Arcade Punks website. That game image have a direct download link from Mediafire, so, I’ve downloaded it by executing:
aria2c -x 8 -s 8 'https://download2267.mediafire.com/42tab46jtang/pzlnh4rf4ch3ai8/Batocera+5.29+RPi3+Gaming+Collection+16GB+By_Clebinho.img'
Note: Mediafire will generate a new url download link at your end, the above url link may not work at your end.
Once the download is completed, it’s time to locate the rom directory, generally this directory is located at the second partition of game images since the first partition is generally used to storage files related with the booting process. So, I’ve mounted the second partition under the /mnt directory with the follwing command line:
losetup -f -P 'Batocera 5.29 RPi3 Gaming Collection 16GB By_Clebinho.img' && mount /dev/loop0p2 /mnt
I’ve located the rom directory in the /mnt directory, to zip the whole directory (you can zip only the directories you want), I’ve executed:
zip -r -9 roms.zip /mnt/roms
Once that’s completed, it’s time to download those roms, to deploy a quick http server under the root directory, I’ve use python3 instead of installing Apache, Nginx or Lighttpd, I’ve executed:
python3 -m http.server
You can access to the http server through your web browser by typing the Cloud Instance IP address plus the port: 8000. Now you will see the rom.zip file, ready to download.
Note: once you have the url download link, you can use it with any download manager.
Once the download is completed, remove (destroy) the Cloud Instance through the Vultr panel, if you don’t do this, Vultr will still charge you. There you go, I hope this post helps you to super-charge and even build your own Retro Game Images under any device. Let me know any question, suggestion, complaint or issue about all this, just write a comment.