Limine: How to display older snapshots again, after newer ones have been deleted?

Hello,

when deleting newer snapshots, older ones are not being displayed in the limine boot entries list again. For example:

  • If my maximum is set to 8, and I have 8 snapshots, all of them are displayed
  • If I create another snapshot, snapshots 2 - 9 are displayed
  • if I then delete snapshot 9 in btrfs-assistant, only 7 snapshots (2 - 8) are displayed. Even though, snapshot 1 is still available in btrfs-assistant

Any way to change the behavior, so that after deleting one snapshot the list is being filled up again automatically?

I tried

sudo limine-mkinitcpio

and

sudo limine-snapper-sync

, but that did not update the list.

Thanks

Dennis

When MAX_SNAPSHOT_ENTRIES=8 is reached, the oldest snapshot boot entry is removed before a new one is added.

  • The default snapshot boot entry limit for your boot partition size
  • The default Snapper snapshot limit for Btrfs partition size.

These are not the same.

there is currently no feature to automatically re-add the oldest removed snapshot entry back to Limine boot menu.
Technically it would be possible to implement, but i don’t think we need that.


You can still restore the oldest snapshot regardless of bootloader

Hello @Zesko

thank you for your reply. Also, thanks for making clear that it is not possible, so I don’t have to wonder whether I just haven’t found that yet.

I am aware of the differences between the entries in the list and the existing snapshots. In my particular case, the existing snapshots didn’t help me, because I was not able to boot up the system. And since I had removed snapshots that accumulated (over 8: my then-list-max) before, my snapshot-list was empty. So I ended up without any snapshots in the boot list.

For now, I set my entries to 50, same as the snapshots-to-keep, and don’t allow pre-snapshots to be added to the list. Still not perfect, because if SS#1 is the one I always want to have in the list, that entry will still be gone after 50 other snapshots have been added to the list. Regardless, whether I delete them afterwards or not.

Which brings me to another question: Is there a was to “favorite” certain snapshots. So that they will never be removed from the list? I found that option somewhere, while I was trying to find a solution to my problem, but can’t re-find it. If it wasn’t called favorites, it might have been “starred”, “pinnend” or similar.

Also, I think I might have read somewhere, that that is what happens to the “fresh-install”-snapshot, which was generated after I reinstalled Cachy a few days ago. That it’ll always stay there. Or am I mistaken?

Dennis

Snapper doesn’t always stay exactly at 50, but it can still go over 50 snapshots until auto-cleanup runs.

You can fix the issue by changing MAX_SNAPSHOT_ENTRIES=auto instead of 50, since auto mode is flexible and depends on your boot usage limit without warning.
You can use limine-snapper-info to check how much space your boot partition is using.

There are also more ways to reduce boot usage and get more boot entries:

  1. Remove the kms hook from mkinitcpio.conf, then run limine-mkinitcpio.
  2. Keep only one kernel that works on your system and remove other kernels to reduce boot partition usage.
  3. If your boot partition size is 4 GiB, I would increase LIMIT_USAGE_PERCENT to 92.
  4. Optionally, you can add EXCLUDE_SNAPSHOT_TYPES="post" to exclude post-snapshots on fast rolling updates, independent of your custom “favorite” snapshots.
    If you get 50 new pre-/post pacman snapshots in a few days, you might only see around 25 pre snapshot entries in the boot menu, but you can still add more custom snapshots.

Yes, snapshot boot entries can be pinned. This is available in limine-snapper-sync v2.

Hello @Zesko ,

that sounds great. So I simply have to make sure the feature is enabled (PIN_IMPORTANT_SNAPSHOTS=yes in /etc/limine-snapper-sync.conf) and define which snapshot I want pinned (sudo snapper modify --important=yes <ID>)? Did I forget anything?

I am not on my Linux-machine right now, but will try as soon as I’m back on it.

Thanks

Dennis

No need. Snapshot boot entry gets pinned automatically, depending on what kind of Snapper snapshot is used.

My simple logic would be:
If cleanup is set to empty or disabled, its snapshot should not deleted by snapper, also it is automatically pinned in boot menu.

sudo snapper -c root modify --cleanup-algorithm="" <ID>

Each pinned snapshot would show a symbol * in boot menu description, it would be easy to see.

Hmm,

I still didn’t manage to manually set a snapshot as a favorite. Could you point me into the right direction?

Thanks

Dennis