No boot to snapshot option in GRUB

Fresh install & dup of TW in which I erased the entire disk. I’ve tried a few of the solutions I found around online but no luck so far.
TW version : 20221117
[FONT=monospace]Kernel: 6.0.8-1-default
[/FONT]For what it’s worth, the .iso I used was Gecko Linux Rolling KDE, following all the standard installation settings (including that it’s set up as btrfs). Curiously, I had installed the same iso before and it did have the option to boot from a snapshot, but on this installation it was never there even before running any updates. (I think it ships with kernel 5.19).[FONT=monospace]

[/FONT]I tried updating the grub timer in YaST, and another method in which I ran an mkconfig command (can’t find in my history right now).

/etc/fstab contents :


# <file system>             <mount point>  <type>  <options>  <dump>  <pass> 
UUID=E87D-C57B                            /boot/efi      vfat    umask=0077 0 2 
UUID=7ea66b0a-5f88-40c3-b71e-e421a5be7861 /              btrfs   subvol=@,defaults,noatime,space_cache=v2,compress=zstd 0 1 
UUID=7ea66b0a-5f88-40c3-b71e-e421a5be7861 /home          btrfs   subvol=@home,defaults,noatime,space_cache=v2,compress=zstd 0 2

I am a novice linux user and new to SUSE distros, so please explain in detail if you want me to try some command or find some file.

Here is some more terminal outputs I think may help but I don’t know.
df -Th :


jerome@koti:~> df -Th 
Filesystem     Type      Size  Used Avail Use% Mounted on 
devtmpfs       devtmpfs  4.0M     0  4.0M   0% /dev 
tmpfs          tmpfs     7.7G     0  7.7G   0% /dev/shm 
tmpfs          tmpfs     3.1G   13M  3.1G   1% /run 
/dev/nvme0n1p2 btrfs     477G  9.2G  467G   2% / 
tmpfs          tmpfs     7.7G     0  7.7G   0% /tmp 
/dev/nvme0n1p2 btrfs     477G  9.2G  467G   2% /home 
/dev/nvme0n1p1 vfat      300M  3.7M  296M   2% /boot/efi 
tmpfs          tmpfs     1.6G   44K  1.6G   1% /run/user/1000

I did not set up any partitions for swap, not dual booting. Do I need to create a partition for the snapshots? Like is it required?

Gecko Linux does not set things up quite the same way as standard openSUSE linux. And I would guess that’s the cause of your problem.

That would make sense, but on a previous install (I had to abandon because I broke something else entirely different), it was working just fine. I’m asking the owner of that project on a github discussion and they seem also perplexed why I haven’t got it, since it was installed from the same snapshot (I think he only makes a new rolling snapshot a few times a year). Let me know if there are any terminal queries I could run that might help diagnose this,

I normally use “ext4”, and boot to a snapshot depends on “btrfs”. But your “btrfs” subvolumes are different from what an normal openSUSE provides. In particular, a normal setup has subvolumes for “/boot/grub2/x86_64-efi” and for “/boot/grub2/i386-pc” (if I recall correctly). And I think those are important for booting a snapshot (so that grub2 is not also rolled back for the snapshot).

That is not Tumbleweed, please do not mislead others. You should have selected “Other Version”.

There is nothing to diagnose. During installation snapshot support was disabled. There could be any reason why, including you accidentally disabling it. Your btrfs mount options are not default (default installation most certainly does not enable compression on root filesystem), so either your distribution does something differently, in which case we have no way to guess why it decided to disable snapshots, or you manually changed proposed disk configuration - see above :slight_smile:

Do new installation, document every step with screenshots, and if it turns out that snapshots are enabled during installation but become disabled after installation - then this is a bug in installer.

The whole subvolume layout is different when booting from snapshot is enabled during installation. It is not about just creating a couple of additional subvolumes.

New openSUSE users may want to try minimal default partitioning. You may omit the third partition and go with single boot: https://forums.opensuse.org/entry.php/244-Tumbleweed-Partitioning-Grub-Multiboot Stick to default subvolumes:

**erlangen:~ #** cat /etc/fstab  
UUID=19CF-0B54                             /boot/efi               vfat   defaults                      0  0 
UUID=0e58bbe5-eff7-4884-bb5d-a0aac3d8a344  /                       btrfs  defaults                      0  0 
UUID=0e58bbe5-eff7-4884-bb5d-a0aac3d8a344  /.snapshots             btrfs  subvol=/@/.snapshots          0  0 
# subvolumes exempted from snapshotting 
UUID=0e58bbe5-eff7-4884-bb5d-a0aac3d8a344  /var                    btrfs  subvol=/@/var                 0  0 
UUID=0e58bbe5-eff7-4884-bb5d-a0aac3d8a344  /usr/local              btrfs  subvol=/@/usr/local           0  0 
UUID=0e58bbe5-eff7-4884-bb5d-a0aac3d8a344  /srv                    btrfs  subvol=/@/srv                 0  0 
UUID=0e58bbe5-eff7-4884-bb5d-a0aac3d8a344  /root                   btrfs  subvol=/@/root                0  0 
UUID=0e58bbe5-eff7-4884-bb5d-a0aac3d8a344  /opt                    btrfs  subvol=/@/opt                 0  0 
UUID=0e58bbe5-eff7-4884-bb5d-a0aac3d8a344  /home                   btrfs  subvol=/@/home                0  0 
UUID=0e58bbe5-eff7-4884-bb5d-a0aac3d8a344  /boot/grub2/x86_64-efi  btrfs  subvol=/@/boot/grub2/x86_64-efi  0  0 
UUID=0e58bbe5-eff7-4884-bb5d-a0aac3d8a344  /boot/grub2/i386-pc     btrfs  subvol=/@/boot/grub2/i386-pc  0  0 
**erlangen:~ #**

Is this likely a sign that my installation was configured wrong?

RESOLUTION
I ended up getting a little frustrated and just installing standard tumbleweed, so now I have snapshots working.

When troubleshooting the issue with the creator of geckolinux on their github discussions, they suggested : “The different subvolume layout is to be expected, as the configuration that I found to work best within the constraints of the Calamares installer is slightly different from what the openSUSE YaST installer uses. But you definitely have a Btrfs filesystem. The problem is that for some reason your system is using a @ subvolume for the root partition, whereas the Snapper config expects it to not have a subvolume…”

You can view the discussion and more details here :
https://github.com/geckolinux/geckolinux-project/issues/457

I did not follow up as I reinstalled instead but I’ll leave this here for future searchers, thanks to those who tried helping here!

Thanks for the feedback. It’s always a good idea to start with a minimum default configuration. When making changes to the defaults do it step by step and always check the ramifications prior to making another change.