Calamares 2.4.5 and Btrfs



I read that Calamares 2.4.5 is out and I read that has support for Btrfs subvolumes setup for @ and @home in automated install modes.
Please does it mean will we finally have support for btrfs installations in an easy wat (not requiring particular technical knoledge)?
Unfortunately until then I don’t feel like using Manjaro, the COW feature of btrfs gives such a peace of mind, knowing the integrity of your file system will be always safe guarded.



It is my understanding that calamares sets up subvolumes easily (but offers no configuration on this). However, I distantly remember reading that the mount options might not make sense on all configurations, so you probably still need to check your /etc/fstab afterwards. @eugen-b nows most about this.

Put away discard if you have that in fstab. Autodefrag is useless for ssd. Use ‘ssd’ mount option on ssd. Compress=lzo is faster, compress=gzip saves more space.


Calamares sets up subvolumes for root and /home by default, although there are still some problems.
In my case; I have two separate btrfs partitions, root and /home, and I DID NOT want subvolumes, however the installer set them up anyway, even if it doesn’t make any sense. Now I have a SV named @ on root, and one named @/ on home. It doesn’t hurt, but it’s not perfect either…

Still, everything is working as it should. I see no reason to not use btrfs with Manjaro.
I don’t use compression in order to keep things simple.

As for COW, sometimes you need to turn it off, like when dealing with virtual machine files (.vdi in VirtualBox), else performance would suffer. This is detailed in the Arch wiki.

To get back to your original question: you can easily use btrfs with Manjaro without a problem. The installation procedure is not perfect, but it gives you a fully working installation with btrfs. And then there’s always the manjaro-architect installer which offers more fine grained control over partitions and mount options.

(from a happy btrfs user since many years)


These subvolumes get created by default if you choose to have one partition for home and root.

You will needt o check the fstab after installing, because previous Calamares versions put wrong option there for btrfs. You can just post your fstab here and ask for advice.
To be able to use btrfs snapshot feature you will need to use some commands

sudo mount /dev/sda1 /mnt
sudo btrfs subvolume snapshot /mnt/@ /mnt/@2017-04-19

to use an snapshot of root as root again

sudo btrfs subvolume delete /mnt/@
sudo btrfs subvolume snapshot /mnt/@2017-04-19 /mnt/@

btrfs snapshots don’t replace external backup. Funny thing is that if some bytes in the original subvolume get damaged by cosmic rays or electrical damage then all its snapshot copies get damaged, too.


They also get created if you choose two separate partitions for home and root. I think this needs some more work.


Recently a user reported that itis not the case, but the report is not verified


Well it was the case for me when I reinstalled about 6 weeks ago. Nothing to worry about since it doesn’t have any influence, but I hope that some day we will have more control over the advanced btrfs features in Calamares. Until then manjaro-architect does the job well enough.


Does that mean that you have tested the new subvolume functionality in manjaro-architect that I added a few days ago? @torvic I would appreciate feedback and ideas.


I’m testing it at this moment. :blush:


Not yet. But since I love manjaro-architect, I’m going to test this now in a virtual machine and report back.

Edit: where is the new functionality? I’m using the latest m-a ISO, isn’t m-a updated automatically when launching setup from the ISO?


Installed with m-a, created one btrfs partition for root and one for /home.

Result in fstab is probably as expected:

root: subvolid=5,subvol=/
home: subvolid=5,subvol=/

I didn’t see anything related to subvolume management in m-a. Version 0.8.8 from the repos.


I don’t think it is yet in any repo package, just in git. When formatting to btrfs, it should ask if want subvolumes, and if you do, offer choice between manual and automatic mode.


would you please some point out which steps are necessary for creating a basic BTRFS intallation by using Calamares or Manjaro-Architect? I’m a bit lost. I don’t need a specific setup, single ssd disk, no raid, no complicated subvolumes.
Do I need a boot partition (512MB?) and then just create a btrfs partition with the leftover?
How am I going to create the subvolumes @ and @home?
Basically I noticed that the automated installer just create a classic EXT4 installation so then I have to go for manual partitioning, right?
Many thanks


For Calamares: If you have a UEFI system and don’t want or aren’t able to use legacy mode, then

  • you need to boot the live medium in UEFI mode,
  • open Gparted or KDE Partition Manager,
  • then if not yet the case create a GPT partition table (creating a new partition table will delete all data, so make a backup),
  • then create a 256-500MB fat32 partition and for the rest a btrfs partition,
    • the subvolumes @ and @home will get created automatically by default
  • then start Calamares, select Manual Partitioning, mount your btrfs partition on /, your fat32 partition on /boot/efi and select this /boot/efi partition as installation target for the bootloader.


For Architect (I can only comment on Legacy, not on UEFI):

Just create your partition(s) and select btrfs as filesystem. It will then ask you if you want to create subvolumes (like for /home and /). It also asks you for mount options, the most useful being noatime, space_cache and ssd. If you like, you can also enable compression by selecting compress_lzo. Everything else is mostly standard procedure.

If you want to use GPT with Legacy, you must create a small (8 MB or so) first partition and give it the EF02 “BIOS boot” flag.


m-a can create a correct ESP partition, but best is to create one manually and then mount it on /boot/efi after having mounted the btrfs partition while at Mount partitions step.


Now I have a SV named @ on root, and one named @/ on home.

Is that right or you meant @ and @/home? So calamares does not follows ubuntu’s pattern, nor manjaro-architecht’s?


That was only because he had two different btrfs partitions. If you don’t choose separate /home partition it should follow the Ubuntu pattern.

But if you want btrfs manjaro, I really recommend manjaro-architect instead. It

  • gives more options for subvolumes
  • sets up better default subvolumes (ones suggested by arch wiki)
  • gives sane default mount options, depending on if you install on ssd or hdd
  • automatically avoids grub errors
  • automatically configures tlp to avoid file system corruption
  • automatically sets up mkinitcpio.conf for btrfs
  • automatically sets up grub-btrfs so you can boot into your snapshots

If you don’t know what you are doing it gives better defaults, and if you do, it gives you more freedom to do as you please.


I’d like to keep /home on a different fs (XFS) and the rest on btrfs. Just for my virtual machines since I heard that they don’t play nice with btrfs. Should allocating 50 GB to /root enough? (it’s just a plain desktop machine).
Would MA manage this setup (UEFI)?


25 GB should suffice. If you use btrfs compression maybe even less. My / is 30 GB of which only half is occupied…