Using External Storage with Batocera
To change the storage device from INTERNAL (the drive Batocera has been flashed to) to EXTERNAL (another drive connected to the machine), follow these steps:
- Open the Main Menu with
[START]
and navigate to SYSTEM SETTINGS → STORAGE DEVICE.
In most cases, using a second USB hard drive to host your ROMs separately from the Batocera system should be completely transparent when this method is used to enable it. According to Batocera, it will just appear as if though the roms
folder on your external drive is actually on your /userdata
partition.
Batocera will automatically create the folder structure it needs on the drive you select after rebooting.
Batocera will only show drives it supports reading the filesystem of (with that said, it supports a lot of them).
Manual configuration with batocera-boot.conf (advanced)
In case the above isn't sufficient, or you'd like to use individual folders for each part of userdata, the “DEVICES” storage type can offer extended functionality.
The NAS page contains more information on the syntax.
- Open
/boot/batocera-boot.conf
- Set
sharedevice
toDEVICES
- Add a new line containing
sharedevice_part1=
- Add the appropriate keyword followed by an @ character (eg.
SHARE@
orROMS@
, full list of keywords here) - Add the UUID of the drive containing the folder (eg.
sharedevice_part1=SHARE@12e46ca9-xxxx-xxxx-xxxx-xxxxxxxxxx
) - If not using the root of the drive, append a : and then add the folder path (eg.
sharedevice_part1=ROMS@2efa1068-yyyy-yyyy-yyyy-yyyyyyyyyy:/Documents/roms
) - Add up to ten parts as needed.
These can also be combined to have individual keywords bound to individual folders. For example:
sharedevice=DEVICES sharedevice_part1=SHARE@12e46ca9-xxxx-xxxx-xxxx-xxxxxxxxxx sharedevice_part2=ROMS@2efa1068-yyyy-yyyy-yyyy-yyyyyyyyyy:/Documents/roms
DEV MODE
If the above steps aren't sufficient for your purposes, you can set up the external drive manually. This will be done by editing the /boot/batocera-boot.conf
file in the boot partition and providing the information of the partition that hosts the ROMs.
The list of UUIDs of all drives connected to the system can be printed with the blkid
command. It will output something similar to the following:
/dev/sdb2: LABEL="SHARE" UUID="12e46ca9-xxxx-xxxx-xxxx-xxxxxxxxxx" TYPE="ext4" /dev/sdb1: LABEL="BATOCERA" UUID="zzzz-zzzz" TYPE="vfat" /dev/sda1: LABEL="SHARE" UUID="2efa1068-yyyy-yyyy-yyyy-yyyyyyyyyy" TYPE="ext4"
In this example, /dev/sda1
is the partition on the drive hosting my ROM files. /dev/sdb1
is the Batocera boot partition and /dev/sdb2
is the rest of the Batocera USB pendrive (that I don't want to use).
Open the /boot/batocera-boot.conf
file. Change the sharedevice
to DEV [UUID of the desired partition]
. For example:
sharedevice=INTERNAL
would be replaced with
sharedevice=DEV 2efa1068-yyyy-yyyy-yyyy-yyyyyyyyyy
If the drive is empty, the folder structure for the ROM files will be created on next reboot.
If you are using an external hard drive and it is not recognized correctly after doing this, then it might be that your external hard drive needs more time to spin up while Batocera boots. In those cases you have to edit the /boot/batocera-boot.conf
file and add the line: sharewait=15
underneath the aforementioned line (if it still does not work, try with a higher number like sharewait=20
for example).
- store_games_on_a_second_usb_sata_drive.txt
- Last modified: 7 months ago
- by cs