Partitioning for Btrfs

This is just what the Calamares installer created. I’m not very knowledgeable about btrfs. I myself use the set up on the wiki by @2000

It is indeed true, that grub has its problems with btrfs.
I do have /boot on btrfs, so its included in a snapshot of /. No problem if i revert to that snapshot
(think of a kernel update when doing a system upgrade, if you revert to a previous snapshot, /boot remains untouched if not included in the snapshot - because its on ext4 for example - so it gets more difficult in that case, but not impossible to solve. For example: https://wiki.archlinux.org/title/Snapper#Backup_non-Btrfs_boot_partition_on_pacman_transactions)

But, i therefore need as well:

GRUB_DEFAULT=0 (-> boot the first entry by default, i read about other values not having effect, too)
GRUB_SAVEDEFAULT=false ( or just comment that line)

no “sparse file” error on boot after those 2 changes in /etc/default/grub (& grub-mkconfig -o … of course)

There is a nice reply in the fedora forum about the grubenv problem (-> sparse file error on boot), when on btrfs.

Read the answer from Chris Murphy:

“…Because of this, writes to grubenv are disallowed by GRUB when it detects the grubenv file is on Btrfs…”

2 Likes

Now we come a little closer to the matter …
The tutorial of @2000 I must first take my time to look at. Is already something violent for me old fart …

I see, maybe something to consider? https://wiki.archlinux.org/title/Btrfs#Compression
@2000 was there an reason to not include compression?
I myself am using it but never made any specific tests so I can’t say what the effects are performance wise, but it seems to do a good job on storage:

------------------------------------------------------------------------------
20:00:14 - Compression statistics:
Processed 4601138 files, 11760736 regular extents (44625115 refs), 2409648 inline.
Type       Perc     Disk Usage   Uncompressed Referenced  
TOTAL       89%      1.1T         1.3T         5.2T       
none       100%      1.1T         1.1T         4.5T       
lzo         20%       25M         120M         724M       
zstd        34%       74G         213G         723G    

I think you misunderstood my answer. What i posted was from a Calamares install changing the default file system to btrfs instead of ext4 just to show @anon92247698 the result and checking if i got the same error.

Personally myself i use the btrfs setup from the wiki by @2000. Not sure about all the details of it. I just installed it and it works.

Edit:

This is my btrfs installation using the quick copy & paste version on the wiki with encryption.

Screenshot_2021-05-28_15-16-55

[ricklinux@eos-xfce ~]$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=4439-BD01                            /boot/efi      vfat    umask=0077 0 2
/dev/mapper/luks-a209e59c-bdbd-43ec-a367-17786b03066c /              btrfs   subvol=@,defaults,noatime,space_cache,autodefrag,compress=zstd,compress=zstd 0 0
/dev/mapper/luks-a209e59c-bdbd-43ec-a367-17786b03066c /home          btrfs   subvol=@home,defaults,noatime,space_cache,autodefrag,compress=zstd,compress=zstd 0 0
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
/dev/mapper/luks-a209e59c-bdbd-43ec-a367-17786b03066c /var/cache/pacman/pkg btrfs subvol=@var-cache-pacman-pkg,defaults,noatime,space_cache,autodefrag,compress=zstd,compress=zstd 0 0

/dev/mapper/luks-a209e59c-bdbd-43ec-a367-17786b03066c /swap          btrfs   subvol=@swap,defaults,compress=no 0 0
/swap/swapfile none swap defaults 0 0
[ricklinux@eos-xfce ~]$ 

Edit: I don’t see any separate /boot partition unless it’s hidden.