Want to try adding a btrfs partition but stuck on installer

Happy New year.

I currently have two separate KDE Plasma installs on a 2 TB nvme drive, the first for coding, and the second for Steam. (Everything is working great with Steam BTW, thank you EndeavourOS!) both of these partitions are ext4, and the disk is GPT, and I fixed grub with GRUB_DISABLE_OS_PROBER=false.

This morning I wanted to try installing a third KDE Plasma that has btrfs. Because I think I would rather have a journalling FS with snapshots when developing.

So I shrank the first partition to 1/4 the initial size, and started to use the Calamares installer on a portion of the free space. (The free space is between the existing partitions.) But when I tried to use the manual option to create a btrfs partition, the dialog won’t let me procede with “Next”.

I am not sure if I am missing an additional config step, like the mount point or flags. I carefully tried a few combinations. I also tried formatting as btrfs with the GParted tool, but the installer ignores this and wants to just overwrite as ext4.

I searched around the forum for other entries, and so far only found posts that are several years old, or newer posts that are for other configuration issues after someone apparently has installed btrfs. I did not find what I was looking for on the wiki either.

I figure that I am probably overlooking something that is obvious, but I am wondering if there is something else causing the Next button to not work. (I have seen this when configuring the static network IP address a few times, and with that, just have to try several times before it will Accept.

Is there a simple checklist process that I should follow, to try and enable a btrfs install? Thank you.

There is nothing special. Can you share a screenshot of the screen where you are stuck?

Yes, here is the simplest attempt:

Can’t press Next at that point. I have tried other variations, where I set a “Name” before trying, same result.

Thank you.

You would need to press Edit first and give it a mount point: /

1 Like

You need to press edit, select the mountpoint as / and select the checkbox to format it.

1 Like

OK, I think I got a little further, I did this:

But then I get this:

I assume that since I set the boot flag, I can Select Plasma KDE and procede. I vaguely recollect having seen the last image on my other secondary installs. Is this correct?

The Btrfs partition mounted at / should not have the boot flag checked.

You need to also mount the FAT32 partition on p1, and specify /boot/efi as the mount point. That partition should have the boot flag. Be sure you choose to keep the contents of p1 intact (do not format).

The file system for EFI partition needs to be FAT32.

Yes, I believe it is, but the installer view doesn’t show the same as the GParted view:

BTW, /dev/nvme0n1p4 is currently undergoing install, so it shows as incomplete on GParted at the moment.

When you use manual partitioning, you need to set the mountpoint for the efi partition.

You might find it easier to use the replace partition option instead

OK, thank you for your help on this. I think I may have an issue in my older installer (Artemis) because it doesn’t allow me to replace a partition with a specific file system, it arbitrarily chooses ext4 only. And this version doesn’t seem to recognize the EFI Fat32 partition. I see that Cassini is out, I will create a new USB installer USB and see if it helps.

Also, as you can see by the last GParted screen shot above, I have two sets of identical flags (boot, esp)–I think it should only be on the fat32 EFI partition, not the btrfs partition-- the btrfs does not have a “root” named, while the other two do. I think this was one of my mistakes.

When I ran grub-mkconfig -o, it did not find the new failed btrfs, only the existing two ext4. Note that the “…p2” and “…p3” partitions are working KDE with ext4, and these partitions were created automatically by the installer, not manually.

I’m also going to try to install a stand-alone KVM instance of btrfs.

Oh, your right. Replace doesn’t have the filesystem dropdown.

However, you can cheat. Before you launch the installer, edit /etc/calamares/modules/partition.conf and change the default filesystem to btrfs

3 Likes

Thank you, that worked perfectly, I tested this morning, and am typing this from the new btrfs system. :joy:

After work, I’ll go through the other reads to learn how to configure a snapshot approach. I skimmed over the new forum posts, and see there is new updated info.

Thank you everybody!

2 Likes

Snapper seems to be the preferred approach. It should be pretty simple to set up in EndeavourOS with AUR helpers. If you want a more hands on approach with reading up, custom subvolumes layout and such, it can be more complex.

Timeshift is a great and simpler alternative. If you choose that, be sure to take note of this thread, and pebcak’s solution:

I am not sure it is that much simpler if you need grub-btrfs integration.

I think it is just as easy to setup snapper at this point with all the various tools that exist.

1 Like

OK, I read through several deep posts, primarily Btrfs Assistant 1.0 is coming, testers needed, and decided to try Snapper and btrfs-assistant. After studying the approach that used grub-btrfs, I decided that I currently do not have a strong use case for adding a snapshot to my grub menu, and being able to boot from it.

Instead, I just want to be able make snapshots of milestone system states, and then be able to restore to an earlier milestone if I mess something up, just from within the OS and not involving grub. (I might be confusing the capability of btrfs as a journaling file system with something like Clear Linux as a journaling OS.)

So after finally going back and reviewing the post by @FishMonkeh (I think it is about no. 229), I wondered if I could just follow the first steps and simply install snapper and btrfs-assistant, and forego everything after involving anything to do with grub-btrfs and the grub configuration (no support for booting off read-only snapshots.)

So I did that, and ran btrfs-assistant, and set up the basic settings, and then added a few snapshots, deleted, and restored to the earlier, and rebooted, and then decided to make a couple more snapshots and between the last two, I set Welcome to “Don’t show me anymore.” My naive theory was that I could then restore the original snapshot, and delete the later two, and Welcome should pop right up on reboot.

But that didn’t happen, so I assume that either the snapshot was not including everything on the system, and just a limited area, or that I needed to actually run btrfs-assistant as root, and not just with sudo, or that maybe the snapshots were currently just template entries (like a schema) and no system state was actually being recorded yet because it needed the grub-btrfs by design–maybe I misunderstood whether or not I should be able to use it without the grub configuration.

I will need to study the core btrfs man and snapper man pages, or just btrfs and relearn how it fundamentally works. (I used an earlier btrfs years ago with OpenSuse, (or maybe it was Fedora) and I had the basic ability to snapshot different system states, and restore them. But before I go down that path, I wonder if what I tried should work, and if so, I will try to work it through a little more–like what should I be targetting with the snapshot, to catch the whole system? (I realize the first one would be pretty big, but all the others after that should be deltas, right?)

Cheers!

The settings for welcome are probably in your home directory. So if you are restoring a root snapshot, they wouldn’t come back. That might not be the best test. Try installing or removing a package and seeing if it is gone or added after the restore.

You need to snapshot all the subvolumes if you want the whole system. However, are you sure you actually want that? Do you really need to restore you cache files for example?

btrfs snapshots happen at the filesystem level. Although it isn’t completely accurate, you can think of them as being all deltas, even the first one.

2 Likes

Thank you for the reply, it helped a lot, and I can confirm the snapshot works for packages. I sort of went overboard and did a full graphical application (0ad), so I had a little bit of KDE menu cleanup to perform in the home directory, but I think I got it all, and I also ran sweeper to finish up. I will follow your advice: you’re right, I don’t need to snapshot everything, I think a bi-weekly disk image might be a better solution to cover any extreme cases. And regarding “btrfs snapshots happen at the filesystem level”: this is substantial, a real paradigm shift. I’ll keep learning about this system, and what subvolumes I need on a situational basis. I think I will need to keep a good awareness of my dependencies as I go to work on my build system now. I appreciate the work you have done on btrfs-assistant, thank you! And Happy New Year.

1 Like