geckolinux / geckolinux-project

GeckoLinux bug tracker and documentation
https://geckolinux.github.io
209 stars 17 forks source link

Snapper #293

Closed Anonymo closed 2 years ago

Anonymo commented 2 years ago

Is Snapper setup like it is on OpenSUSE, OOTB, with the grub integration, or are extra steps required after?

geckolinux commented 2 years ago

Hi there, GRUB integration is not included and is not possible to easily configure it after the installation either.

The current GeckoLinux STATIC spins do include OOTB a Snapper configuration for root and /home with automatic timeline and pruning and automatic snapshot integration with Zypper.

The soon to be released ROLLING spins will also include the above OOTB features.

N-Prime commented 2 years ago

Garuda Linux uses Calamares and it recently switched from Timeshift to Snapper. It installs with btrfs and snapper preconfigured with GRUB integration.

I did a minor test and it worked well - installed the OS, installed tmux, boot into snapshot from GRUB before tmux was installed, verified tmux not present, permanently rolled back. A nice addition is that when you boot from GRUB into a snapshot it detects it and dialogs pop up asking if you want to permanently switch to the snapshot (so you don't need to open a terminal and run "sudo snapper rollback #").

If you weren't aware of this, hopefully looking into how they did it would help you to implement the same with Gecko.

Calamares also does something better than YaST - when you install with LUKS on a single / partition (no separate unencrypted /boot), it automatically creates keyfiles so you don't need to enter the LUKS password twice.

Edit:

Actually the auto-creation of keyfiles for LUKS is not a good idea with the current implementation - if a user tries to mount an existing LUKS encrypted partition the install will fail (I think) because it will try to create a keyfile for it but it doesn't "know" the password even if you decrypt the partition you want to mount before installing.

geckolinux commented 2 years ago

@N-Prime Thanks for the suggestion. Garuda uses grub-btrfs for GRUB integration with Snapper snapshots. I was under the impression that grub-btrfs was specifically for Arch, but it looks like it at least claims to be distro agnostic. If anybody wants to try to install and test it on GeckoLinux please report back here.

geckolinux commented 2 years ago

@Anonymo , @N-Prime If you'd like to test it here's an ISO with Btrfs snapshots and GRUB integration, thanks to some major improvements in Calamares and a bit of hacking: https://sourceforge.net/projects/geckolinux/files/testing/GeckoLinux_ROLLING_XFCE.x86_64-999.211212.0.iso/download I'd appreciate tests on real hardware and VMs, with and/or without other installed operating systems, on legacy BIOS or EFI systems, and also with the other non-Btrfs filesystems to make sure the installed system is bootable. Thanks in advance!