My set-up is roughly analogous to this: https://community.frame.work/t/guide-fedora-36-hibernation-with-enabled-secure-boot-and-full-disk-encryption-fde-decrypting-over-tpm2/25474

Summary is that I use full-disk encryption (FDE) and use the TPM to decrypt the swap, and use full lockdown mode with a kernel patched to allow hibernation.

Suspend-then-hibernate (in my opinion) is a must-have feature for a laptop that goes in a backpack – if I close my laptop’s lid and put it in my backpack, I expect it to both not overheat, and to have some amount of battery left regardless of when I decide to take it out again.

Anyway, does anyone have it working well, or any other tips?

One thing I’ve been toying with is using a systemd script to drop the filesystem caches before hibernating to have it resume faster.

7 points
*

Suspend-then-hibernate

That’s something over which I used to be very jealous of Windows laptops 😕 But that was years ago…now my aging 3.2kg ThinkPad is just a “stationery” workstation!

permalink
report
reply
4 points
*

I am not sure if we are discussing hibernation for encrypted systems only, and I do not know what special provisions are needed for that, but for anyone curious, here is what I do on my own machine (not encrypted) per my own notes for setting up Arch, with a swap file rather than a swap partition, and rEFInd as the boot manager (the same kernel params could probably be used in Grub too, though):

  • create a file at sudo nano /etc/tmpfiles.d/hibernation_image_size.conf (copy paste the template from https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate)
  • if you made your swap file large enough (~1.2x ram size or greater), set the argument value to your amount of ram, e.g. 32GB= 34359738368
  • after a reboot, you can verify this with cat /sys/power/image_size
  • findmnt -no UUID -T /swapfile to get swapfile UUID
  • filefrag -v /swapfile | awk '$1=="0:" {print substr($4, 1, length($4)-2)}' to get offset
  • Go into your kernel parameters and add resume=UUID=### resume_offset=###
  • e.g. in /boot/refind_linux.conf (with efi partition unmounted)
  • go into /etc/mkinitcpio.conf and add “resume” after the “filesystem” and before the “fsck” hooks
  • run mkinitcpio -p linux-zen (or equivalent linux type)—
permalink
report
reply
3 points

I set it up, but it took significantly longer to wake up than Windows so it was not worth it. I now shut down and boot back up since it’s faster

permalink
report
reply
3 points

My issue is that, its working. But at times when I need it, it somehow manages to hang during shutdown

permalink
report
reply
1 point

I am currently back to running EndeavourOS after PopOS had severe issue running.

Hibernate/sleep out of the box seems to function just fine on my desktop. I’m running a Ryzen 3600, Nvidia RTX 2060, 32GB ddr4 21xx.

It is setup to lock itself after about ten minutes. Then if no activity for an hour will go into sleep/hibernate. Mouse will not wake it but keyboard works fine and I’m back to login within 10s or so.

permalink
report
reply

Linux

!linux@lemmy.ml

Create post

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

  • Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
  • No misinformation
  • No NSFW content
  • No hate speech, bigotry, etc

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

Community stats

  • 8.4K

    Monthly active users

  • 6.3K

    Posts

  • 172K

    Comments