Skip to content

Generic ROMs folder

Dan Mons edited this page Feb 1, 2022 · 5 revisions

Generic ROMs folder

Here's Bob from RetroRGb demonstrating a RetroNAS install, along with the directory symlink features: Watch the video

RetroNAS intends to be a central storage repository for as many old systems, computers and consoles as possible.

A great challenge that arises from this is that many, many existing systems already exist that define how storage is laid out. And the last thing we want to do is make yet another standard that just adds to the noise.

RetroNAS creates a generic roms (lower case) folder in the top level of the RetroNAS share. Under this directory are subdirectories of various manufacturers, and below those folders for different systems, consoles and computers.

The magic sauce is a feature of Linux filesystems (and NTFS too) called "symbolic links", or more commonly "symlinks":

These enable a fake directory somewhere else in the system to point to another part of the system. From here, Samba is specifically configured to follow these links (other tools like FTP and HTTP do this natively).

From here, RetroNAS attempts to built specific layouts for specific systems. Whether these are tools like MiSTer FPGA or OpenPS2Loader or other tools, their specific layouts can be generated and linked back to RetroNAS' generic ROM folder.

This allows for quite a lot of flexibility and space saving, as systems don't need to be doubled-up. If one emulation/storage/sharing system refers to the "Sony PlayStation 1" as "psx", another as "PSX", another as "ps1", and another as "playstation", there's no need to copy bulky ISO images in to all three. Placing them in any one of those locations will make them appear immediately in all of the others without any extra copy or spacing wasting required (as well as the generic folder roms/sony/playstation1 that everything symlinks to).

This can get a little confusing, as the symlinks all look like real folders. Also doing things like trying to calculate space usage via Samba (say, from a Windows desktop) will often result in incorrect information as Windows counts every version of the files found without understanding that they're symlinks.

If you want to know the real usage of the actual disk you are using with RetroNAS, one of the easiest methods is installing Cockpit, navigating "Storage" and seeing the disk as a whole there.

Alternatively, SSH or Telnet in to your device, and run the command

df -hT

This will report on all file systems in the system, their mount point (where they exist in the Linux file system tree), total size, used space, free space and file system type, to give you a complete picture of what's going on across the entire system.

Home

Getting started:

Contributing

Multi-system protocols:

Specific system configurations:

Services:

Tools:

Physical Media:

On-Device Management:

Advanced storage options:

  • BtrFS RAID, Snapshots, Compression, Deduplication
  • FAT Advanced guide to using FAT loopback mounts for EtherDFS
  • TBA
    • SMR Shingled Magnetic Recording hard drives (TBA)
    • NTFS Advanced guide for NTFS formatted disks
    • SMB Loopback Mounting an existing SMB NAS
    • NFS Loopback Mounting an existing NFS NAS
    • MDRAID (TBA)
    • LVM (TBA)
    • iSCSI Configuring iSCSI

Other:

Clone this wiki locally