I have now switched my system to btrfs, everything seems to run cleanly. However, I am not sure if I have created the partitioning correctly. Starting point is a 256 GiB SSD, on which nothing else will be (/home with data is on a HDD), therefore the much too large / -partition, but never mind. When I created the / -partition, it automatically created a subvolume for /var/cache and /var/log. I created the swap as primary. Everything works fine so far. Just want to hear from you experts if I can leave it like this or if there is still room for improvement. Are subvolumes absolutely necessary with btrfs? Here is my fstab:
They aren’t absolutely needed but they are useful and have no real downsides. Generally speaking, more is better. With separate subvolumes, you can create separate snapshot policies for each subvolume. Since they share the same partition, there shouldn’t be any concerns with more.
For example, you probably don’t want any snapshots on /var/cache. On /var/log you probably want a snapshot policy with minimal retention. For other parts of the OS, you might want a little more retention.
It is all a matter a personal preference. I generally have many subvolumes for convenience purposes.
Honestly, I think the biggest mistake is putting /home on an HDD. There is lots of cache access and frequently accessed files in /home. You generally want that on you highest performance storage.
I would consider migrating /home to a subvolume on your SSD. Then mount your HDD somewhere else and use bindmounts or symlinks to keep Documents, Videos, Music, etc on the HDD.
My point is that it is always advised against defragmenting an SSD. In this case autodefrag was automatically enabled, but I think I take it out of the fstab again
Basically what the text says is that a non-zero value means that the filesystem is checked for inconsistency at every boot. This is not needed for Btrfs.
In case of doubt, wait for the real ones to chime in , but hey, thanks anyway
OpenSUSE uses btrfs as a default filesystem for a long time, and it has quite extensive default subvolume layout. It has separate subvolumes for /boot/grub2/x86_64-efi, /home, /root, /opt, /srv, /tmp, /usr/local, /var. You can find the reasoning for why they make each of this separate subvolumes in this article: https://en.opensuse.org/SDB:BTRFS.
Just don’t create /boot/grub2/x86_64-efi subvolume in EndeavourOS, or you won’t be able to boot.
I did this quite simply with my installation: / on a partition, Calamares then created subvolumes for /var/cache and /var/log/ independently during the installation. /boot is ext4 on its own.
@joekamprad : Now what exactly is the difference between your method of rearranging Calamares before the installation in the live system and the method of the previous partitioning with Gparted? Possibly something is missing then? I have prepared the partitions with Gparted and then formatted in btrfs first during the installation with Calamares. It all works, I’m a little confused …
i do not say it will be better to use setting BTRFS as default for calamares, it will only be automatic so by changing a word in a single file, could be more simple to use if you do not want to manually setting it up post install
Hm, I did not set up anything AFTER the installation. Reboot and good. What would have been to do? Or better asked, what is still missing from my setup? If this gets too convoluted, I’ll reinstall using your method to make sure everything is ok.