I have been using Garuda for a little over a year on my gaming PC, but for work I was a RHEL guy and am just about finished with it (tired of little things going wrong with subscription manager) so plan to do the Arch-iest thing I can think of but want Garuda to have a part in it.
I jump between distros every now and again for testing purposes, and want to have the majority of my install exist on a single btrfs partition separated by subvolumes. So far that seems easy enough to do on Arch or Debian, where you can do it all manually or with debootstrap, but I want to Install Garuda and maintain my usual partition structure using subvolumes (separate home,tmp,var,logs,and audit) from the point of install. I would have the same set of 7 subvolumes for the 4 distros on it (plain Arch, Debian, Fedora, and Garuda) and a separate primary partition for a Windows install I technically don’t want but have to test with occasionally.
I am wondering if there is a way to run the garuda install in a way that can install as a subvolume of an existing btrfs partition. With Arch it is just a matter of mounting the subs as a directory in the root subvol, but if not, has anyone here tried to (or should I expect problems with) installing normally on a standalone device, and doing rsync to send to subvolumes of the disk I want to use then adjust the fstab accordingly? I’d imagine I would want to ensure a separate _snapshots volume too huh?
Appreciate any feedback and thanks in advance. I am about to crash for the night and will probably start messing around with it next chance I get tomorrow, in hopes of things working.
I had noticed that, and it does seem to be a good tutorial to a segment of what I am looking at, in fact a much more detailed version of it. What I am curious about, since this would require the extra step of an installed instance of each spin somewhere and relocating their directory trees to their respective subvol, effectively answering the secondary question, is how to prevent the need for that process.
What I was hoping to elaborate on, was whether there was a mechanism that would allow you to run Garuda installer in a way that would allow you to install to a given directory in a way similar to using pacstrap (I know Garuda is based on Arch, but haven’t tried to see if pacstrap would bootstrap a Garuda install when using it for that) or debootstrap so I could in effect install to those subvolumes from the get-go as long as the subvols were mounted in the proper tree.
Since I could in practice use pacstrap to install from all the repos on the Garuda LiveCD, is there a de-facto package group for pacman that would allow for installation of all the pertinent packages that way? I read other posts talking about converting Arch installs into Garuda and know that all the fine tuning involved would make that akin to an any% speedrun in every Dark Souls, so part of me is hoping that the above theory is at least plausible.
There is no need to install every spin. You can install just one, of course. That post is an exaggerated example of what is possible with multibooting with subvolumes.
If you’d like, a very abridged version of that process is described in the wiki post here:
The important things to keep in mind are:
The Calamares installer will automatically set up subvolumes named @, @cache, @home, @log, @root, @srv, and @tmp. If any subvolumes already on the partition have any of these names, the installer will fail. Rename the existing subvolumes beforehand as needed.
In the manual partitioning section of the installer, make sure you have “keep” selected for the content of the partition–otherwise it will wipe the partition before the installation.
The installer takes care of all of this stuff for you. There is no need to run pacstrap at all, everything is set up for you automatically with this distro.
I am not sure I follow what you are trying to say with “a given directory” and “in the proper tree”, but just to clarify: there is very little flexibility with the subvolume setup you get from the installer. It sets up those seven subvolumes as top-level subvolumes, and a nested subvolume in @/.snapshots for snapshots, whether you like it or not (most of us like it ). Obviously it is fairly simple to add or remove subvolumes according to your wishes after the installation is finished.
Every ISO has a text file with a list of packages it will install. You could pacstrap off of that if you wanted to.
This was the main part I was looking to have a definitive answer for, so thanks! I think the thing that will let me accomplish the intended goal (I had no plans to install every flavor of Garuda, just have Garuda as one of the few multiboots) without having to use two drives to get there, is to install Windows first, then my other 'nix and 1 BSD, with Garuda last. BSD and Windows will have their own partitions because they can’t use btrfs of course, but as long as my subvols are set up right, installing Garuda last will give me the benefit of autodetecting the rest of them without having to migrate it from somewhere else or mess with the boot-from-snapshot menus.
You’ve been a great help in simplifying the next few months of my workflow, so many thanks to you! Hopefully when I finish my project, I will add a post to the community page with a new tool I hope to spread around that will let you add a LoRa device to set up an overlay network to auto-determine the fastest in-range technology to link up devices for messaging and key-sharing!