Btrfs Assistant 1.0 is coming, testers needed

Take a look at the top of the first post in this topic. If you still have questions after that, let me know.

2 Likes

I have a few if I can ask :slight_smile:

  1. First install of EOS with btrfs, do you suggest automatic one, with swap partition or custom ?
    What should be ideal partition layout?

  2. Is it possible to make home separate btrfs partition/subvolume, so we can keep it for example when changing DE or that is not a good idea ?

  3. As you stated that with systemd-boot it is not easy to use btrfs snapshot, is it better to choose grub or stay with systemd-boot?

That is for now :sweat_smile:

I don’t think btrfs warrants a custom partition layout unless you have a specific goal. Using ā€œErase diskā€ will work fine.

If the whole disk is for Linux, I would just add one big btrfs partition in addition to the swap and EFI partitions.

It is possible. You would need to use manual partitioning. Just create a separate /home and /. Use btrfs for both.

It depends if you want to boot directly from the snapshots. That requires grub.

1 Like

So if I go with manual partitioning, hone and root partition as btrfs, and swap partition (or swap file is better for ssd) ? Calamares will automatically make other needed subvolumes ?

It depends if you want to boot directly from the snapshots. That requires grub.

That is the point of snapshots right ? Or I am missing some other way to restore backup ?

Using a swap file is supported but there is special handling needed on btrfs is you want to be able to hibernate. It might be easier to use a partition.

Yes.

It depends who you ask. :wink: Snapshots have many uses, they don’t exist for rolling back when the system is broken.

That being said, it is up to you which you prefer. If you are in doubt, you can always use grub this time and see if you like the ability to boot off snapshots.

1 Like

Main question I have is about the snapshot booting. I have only read that it is not easily achieved, so how is it achieved?

1 Like

On grub it is easy since tools have been developed for it.

On systemd-boot it would be a fair amount of work although it is technically possible.

  1. You would need to develop a hook to manage adding the snapshots to the systemd-boot menu
  2. You need to maintain the kernels/initrds matching your snapshots

Hmm…actually, that doesn’t seems all that hard now that I think about it. If you had some time and some scripting skills I am sure it is do-able.

That being said, it isn’t ā€œInstall and configure these packagesā€, it is ā€œDesign a solution and develop itā€

3 Likes

Thanks. So if not able to boot to a snapshot, how would I restore a snapshot of I couldn’t boot the system or whatever the closest equivalent is to working around not having bootable snapshots?

Boot off the ISO and restore the snapshot from there.

1 Like

How is this done exactly? arch-chroot? Then how does one restore a snapshot? Where do you look at the snapshots to pick. This is something I’ve never done. I know nothing about the process.

Neither do I. @dalto Would we use this https://discovery.endeavouros.com/system-rescue/arch-chroot/2022/12/ as our basis? As you say @ricklinux How to do we locate the snapshot we want to boot from?

I don’t know that’s why I’m asking. It’s easy from btrfs-assistant (GUI) but i have no idea how to restore this way. Btrfs i use it but I don’t know it well.

1 Like

I have Silverblue running on another machine and am thinking about putting BtrFS Assistant on it, as it uses systemd. How would booting process vary from :enos: to find the snapshot?

AFAIK, :enos: does subvolumes differently to let Time Machine work.

Install btrfs-assistant then open it and restore the snapshot. You don’t need to chroot to restore a snapshot.

Two caveats:

  • If you use a nonstandard location for snapshots and you have a custom config, you need to modify the config file on the ISO.
  • If the kernel version changed between snapshots, you need to chroot in and run reinstall-kernels

In general, Btrfs Assistant doesn’t care what subvolume layout you use or what distro you use. However, I have never tried it with Silverblue. Silverblue already includes a way to do rollbacks of the core filesystem. You could use Btrfs Assistant for user data though if that is stored in a btrfs subvolume. In that case it should work the same as any other distro.

Two things:

  • I think you mean Timeshift, not Time Machine
  • Btrfs Assistant isn’t based on any specific subvolume layout

The GUI launcher has stopped working for me.

I can launch btrfs-assistant from the terminal without problems.

I’ve been trying out different display managers (Lightdm, Sddm), installing and uninstalling. This might have something to do with the problem. Currently I’m using Ly, from the AUR.

When
btrfs-assistant-launcher
I get

qt.qpa.xcb: could not connect to display
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

/sbin/btrfs-assistant: line 42:  3750 Aborted                 (core dumped) btrfs-assistant-bin ${params}

I tried to reinstall Btrfs assistant, but nothing changed.

Anyone knows what to do?

I reinstalled Sddm, and the Btrfs Assitant launcher is working again.

I must have uninstalled some Qt stuff, when I uninstalled Sddm with

sudo pcaman -Rns sddm

I’m not sure what the logic is here?

I started out with Sddm. So, when I installed btrfs-assistant, it took a look at my installation and figured ā€œok, that qt stuff is already there, so I don’t need to bring it with meā€ ?

So, when I uninstalled Sddm, the btrfs launcher stopped working.

My question is, how can I learn how to prevent such surprises in the future?

The biggest thing you can do is be careful to review the package list that you are presented when you remove software and make sure that it isn’t removing anything you don’t want to remove.

Personally, I don’t remove software with -Rs. I allow dependencies to stay on the system and they occasionally remove orphans being careful not to remove to anything I don’t want to.

1 Like

OK, thanks!

What I’ve encountered here seems to be the fundamental problem of being a relative beginner autodidact on Linux. There is no structure to the knowledge I’ve amassed, it is bits and pieces.

When you are starting out, the dependencies stuff is one of the hardest things to wrap your head around. But it seems to be relatively simple. I should get a Linux book and start in a structured way, beginning with the fundamentals.

I don’t know if I should start another thread, but there is some weird behavior.

I stopped the sddm service and uninstalled sddm with -Rns, then installed Ly and enabled it.

btrfs-assistant-launcher stopped working.

I reinstalled Sddm, enabled the sddm service and stopped the Ly service.

btrfs-assistant starts working again.

I figured I want Ly, so I unistall Sddm with -R only, and disabled the service and rebooted with Ly.

btrfs-assistant-launcher is not working.

I have to not only reinstall Sddm, but actually enable and use the service, to get the launcher to work.

I’m guessing there is some btrfs-assistant configuring that needs to be done somewhere? It seems to have been locked to the sddm service?