Btrfs Assistant 1.0 is coming, testers needed

this is the alternative of grub-btrfs.path and is already enabled. That is all good.
Its task is automatic update of snapshots in Grub menu list when detecting any new root snapshot that appears in the root system.

Great!
Rebooting!

Simply amazing @Zesko and @dalto
Simply amazing EndeavourOS
Simply amazing community.
:tada: :partying_face: :tada:
Rebooted normally. then…
A picture is worth more than a thousand words
Seems everything went fine.
1
2
3

1 Like

Disable grub-btrfs.path again.
Do not forgot to create a new root snapshot after disable grub-btrfs.path


Because you are restoring the latest snapshot but grub-btrfs.path is enabled back. That is why you disable grub-btrfs.path then create a new snapshot that is correct.

Well, If you allow me @dalto to suggest something, that will make it even better in my point of view. I do not know if other users/developers would agree with me.
My suggestion:

  • Installing BTRFS Assistant should be the only thing needed.
  • BTRFS Assistant should install all other stuff I installed previously (i.e. Sanpper, BTRFS, snapper support, creat /home snapshotting profile… create and do all the stuff till the last thing I did today)

The point is:

  • Why users chose BTRFS? → for system snapshots and /home snapshots and maybe other reasons (it will not harm making it a default during EOS installation or because of installing "BTRFS Assistant, it does not defeat the “minimalistic” concept! It is not a load on the system.

If someone does not need BTRFS Assistant or Snapper, simply ignore it… assume it is not there!

Consider it an option in a car (Radio with other media players, USB, CD, DVD, Mobile Phone…). But I don’t like listening to radio. The car manufacturer doesn’t need to make another version without a radio but with other players. They would expect you simply forget about it! It will not harm you, it will not cost you less to not have it!

Simply put it in… who does not need it… forget about it!
Another thread for voting perhaps.

It is up to you @dalto to make it as you are the developer.
I am not intervening in your business by any means!

There are a few problems with this approach

  • Many people use Btrfs Assistant without Snapper so forcing Snapper seems like a bad idea.
  • Even more people use Btrfs Assistant without grub-btrfs. For example, I don’t use it.
  • For that matter, not everyone who uses Btrfs-Assistant even uses grub. Some are using systemd-boot, refind or other options.
  • Many people don’t want snapshots of /home. For that matter, there is no guarantee that /home is mounted on a btrfs subvolume that could be snapshot.

It would make much more sense for someone to create a separate AUR package that did all of that and pulled it together.

2 Likes

Some (:raised_back_of_hand:t4: ) even use it on ARM where some of these things don’t even apply

1 Like

I see your point of view.

That would be a great idea.
Just one package let’s call that installs BTRFS Assistant, Sanpper… configures… etc.
I wish I can do it! I want to contribute something.

Honestly, this is new for me.
ARM processors can’t have BTRFS? Why? There are 64 bits ARM processors!

They can have btrfs/snapper, but most don’t use grub to boot.

This is another story for me. I don’t want to derail this thread!
I really appreciate all your support @dalto and same for @Zesko whom I followed his instructions mainly to be able to boot to earlier snapshots (the way I was looking for)

I’m a bit confused by this whole overlayfs thing. It sounds like limotux needs to do this so he can boot to a snapshot and then restore, but I didn’t do that and I can boot to a read-only snapshot and restore. I thought it was just about booting to snapshot that wasn’t just read only and more like a Live CD.

There is a lot of confusion above. @limotux had the overlayfs in place the whole time because snapper-support installs it.

The overlayfs puts an overlay over your read-only snapshot that gets applied when you boot.

Without it, not everything will work properly. For example, neither gdm nor lightdm will properly load off a read-only snapshot. sddm will give you an error but it will work and you can login and restore a snapshot.

2 Likes

Allow me to summarise what I understand and please correct me if I am wrong or misunderstanding (as usual :joy:)

From https://wiki.archlinux.org/title/Overlay_filesystem

Overlayfs allows one, usually read-write, directory tree to be overlaid onto another, read-only directory tree.

All modifications go to the upper, writable layer.

after a file is opened all operations go directly to the underlying, lower or upper, filesystems.

This simplifies the implementation and allows native performance in these cases.

So, as @nVIceman mentioned that

So, overlayfs makes the read only snapshot, in a read write status. So system files, logs, … etc. can be updated.
It makes it as if you booted normally to your machine “yesterday”

So, - only if overlayfs is installed- you can “yay -Syu”, take a manual system snapshot, then reboot (without restoring any snapshots), you will boot normally to this latest updated working snapshot.

I hope I am right.
Please correct me if I am wrong.

Unfortunately, almost all of that is wrong.

In this case, the overlayfs is tied to a tmpfs. The snapshot itself is still read-only. The tmpfs lets you write to the system but all those changes are lost when you reboot. That is why I said to be careful when you boot off of a snapshot.

So in your example, if you boot off a snapshot and run yay -Syu. The update will happen, but all the changes will be written to a tmpfs and be lost as soon as you reboot.

But there is another problem in your thinking with this part:

Even if the snapshot was read-write(it isn’t), that still wouldn’t work the way you describe. What would happen is that you would modify the snapshot, then take another snapshot(which would be the same as the modified snapshot). Then when you rebooted, you would boot back to the old system because modifying snapshots have no bearing on the old system.

As a side note, if you use read-write snapshots and grub-btrfs, updating your system when you are booted off a snapshot will put your system in a mess and have you permanently booting off the snapshot. This is one of the reasons read-only snapshots are safer.

I see. So I got it wrong!
tmpfs is just temporary.

I feel so sorry for myself I am that illiterate! :cry: :sob:

So, to clarify, if installing snapper-support, is all of this overlayfs stuff setup then automatically? I thought I knew everything to do once I install for system for real, just want to check. I eventually installed snapper-support, which is why my bootable snapshots worked okay without having manually setup the overlayfs.

Yes, it is done in the .install file. However, it won’t take effect until you run mkinitcpio -P. This happens with every kernel update and also when certain other packages update though so it will happen on it’s own generally speaking.

You can check to see if it installed with grep -qe "^HOOKS=.*grub-btrfs-overlayfs" /etc/mkinitcpio.conf. If that returns anything, the hook was installed.

You can also test booting off a snapshot and running findmnt /. It should show an overlayfs.

1 Like

Hi all,
I will bother you again but not to much.
I ended up making a fresh BTRFS install and got everything working as before.
I installed BTRFS Assistant as previously did (starting from Btrfs Assistant 1.0 is coming, testers needed - #254 by limotux)

And I did as well Btrfs Assistant 1.0 is coming, testers needed - #160 by Zesko so that I can boot to an earlier snapshot.

I can see in my Grub earlier snapshots but it does not seem to me I could boot to an earlier snapshot.

Though I am selecting one, I am not getting a notification that I booted to a snapshot!

I did my best to follow what @Zesko advised.
It seems I am missing something!

Any help highly appreciated.
Thank you.

UPDATE:
I rechecked again… and found I missed a few steps that was a bit below.
Working perfectly as before.

@zesko, have you considered making an AUR package for you snapper snapshot notification?

That might make it easier for people to install.