Hibernation on Tumbleweed with GRUB2 + BLS — Guidance and Documentation

Hello everyone,

I’ve just joined the forum, so please let me know if I’m overlooking any conventions.

I am trying to configure hibernation on openSUSE Tumbleweed in a system that uses GRUB2 with Boot Loader Specification (BLS). While researching, I was unable to find clear guidance on this specific combination — neither in the official documentation nor in forum discussions. If relevant resources do exist, I would greatly appreciate pointers.


Current Understanding

My current understanding may be incomplete, but based on what I have gathered:

  • The swap device must be properly defined in /etc/fstab)
  • With BLS enabled on Tumbleweed, kernel parameters are managed via /etc/kernel/cmdline rather than /etc/default/grub
  • After modifying /etc/kernel/cmdline, BLS entries need to be regenerated (possibly using sdbootutil)

I am not fully certain that these assumptions are correct.


Points I’m Unsure About

I would appreciate clarification on the following:

  • What is the correct swap configuration in /etc/fstab for reliable hibernation on Tumbleweed?
  • Is a resume= kernel parameter required in /etc/kernel/cmdline, and if so, what format is expected (UUID, device path, etc.)?
  • What is the canonical method to regenerate BLS entries in a GRUB2+BLS setup on Tumbleweed?
  • Are there distribution-specific differences compared to generic systemd or GRUB documentation?

Goal

I am mainly trying to understand the correct configuration flow rather than requesting a full step-by-step guide.

If this setup follows upstream behavior and I am simply looking in the wrong place, that context would also be very helpful.

Thank you for any guidance.

Welcome to openSUSE Forums

A typical entry has this form…
UUID=<swap-uuid> none swap defaults 0 0
You can get the UUID using lsblk -f

Only if you plan to use hibernation. Without a resume= parameter, the kernel does not know where to look for the hibernation image.

Use the UUID form
resume=UUID=<swap-uuid>

sudo update-bootloader
This utility the openSUSE wrapper that ensures everything (including BLS snippets) is regenerated correctly.

For more info
man update-bootloader

2 Likes

Deano, thank you very much for the clear explanation and the reference to “update-bootloader”, that helps me a lot.

Just to confirm my understanding:

If I configure swap via UUID in “/etc/fstab” and

add “resume=UUID=”

to “/etc/kernel/cmdline,” is it sufficient to run “sudo update-bootloader” to regenerate the correct BLS entries for GRUB2-BLS on Tumbleweed in order to obtain a functional hibernate without an additional security layer?

Thank you very much for the clarification.

Correct. You could also add it using the same command…

sudo update-bootloader --add-option resume=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Huge thanks, Deano.
I truly appreciate your effort and commitment to helping people like me in this forum.

2 Likes