Repository: ChimeraOS/chimeraos

Issue #237: [Feature request] Multidisk installations and management
Created: 2021-06-18T15:46:33Z
This had been requested before and some users even hacked their installation to make it work. I think we can improve on that and gather experiences for making it work as a turnkey feature.
Currently the installer only allows to use a single disk with a predefined partition scheme that looks like this:

msdos partition table for BIOS systems, gpt partition table for UEFI systems
512Mib fat32 partition for mounting /boot (set as esp 1 if in UEFI system)
The rest of the disk in a partition to mount /

The /etc/fstab describing the partition layout is shipped with the distribution image.
There is a need for support of multiple disks setups that enable to use available space in a larger game library (for ChimeraOS) or user data (for any other possible usage). Two different approaches can be used for this and can be implemented simultaneously:
The first approach is to treat additional disks as separated from the system and handling them in an application (as per effort made in #224). Setting them up after installation, parting and mounting them with the help of some systemd.mount units. The application (possibly steam-buddy/chimera) should be able to:

Show disks to the user and allow it to partition/format it for use as a library.
Set up the automounting of the drives at boot time.
Register the library inside Steam for games or use it's own record for non-Steam games.
Allow the user to select on which library the next games will be installed and move games between libraries (as BPM doesn't allow for library selection at the moment).

The second approach would be to bundle all disks into a raid (as described in #107) with the help of a cache disk (preferably the SSD in the machine). This will allow for a fast, near-SSD speed for all games in one massive library. This won't allow for adding more storage to the backing part of the cached devices, but won't negate the use of the approach above (for example for removable media). This process needs to be handled at install-time with this changes:

Allow the installer to detect if there are more than one disk and ask the user which usage it preffers (cached single library or multiple libraries).
Modify the partition scheme we currently use and overwrite the /etc/fstab in the image with the new layout:
Set the system to a fixed size that allows for updating and some minimal space (currently could be around 12Gigs on the safe side).
Partition the rest of the primary drive (an SSD presumably) as a bcache.
Add all disks the user selects as backing devices for the bcache.
Separate /home and mount the cached drives on it.

Both approaches have their merits and disadvantages, can be done simultaneously and won't interfere with each other. Both can be implemented as part of both steam-buddy (chimera) and frzr-bootstrap.

Duplicate issue #46: Auto-mount USB / external / network drives
Created: 2019-10-11T13:00:39Z
Nice project! Love it. Thank you!
How can one mount external storage like USB, disks or network drives?
Despite my Linux knowledge I was not able to locate a mount point nor was I able to manually mount anything. So please, how to do that?

Closing comment (2022-05-24T13:19:09Z): This one should be tracked in #237. Gamepadui already supports it and we included the pieces for it to work on newer ChimeraOS releases