Outils pour utilisateurs

Outils du site


francois:hibernation

Ceci est une ancienne révision du document !


Comment activer l'hibernation avec l'install de base CachyOS

Enable hibernation in CachyOS alongside zram swap with full disk encryption on BTRFS

How to enable hibernation in CachyOS alongside zram swap with full disk encryption on BTRFS

I use CachyOS on my laptop at the moment. I like to use the hibernation option, especially suspend-then-hibernate, but it’s not easy to enable in CachyOS, because there is no swap partition or swapfile created by default, because it utilizes zram. I wanted to use hibernation without losing the advantages of zram, so I went for a large swapfile with low priority to enable hibernation alongside zram. I use the default filesystem of CachyOS - BTRFS and I use full disk encryption. Here’s how I did it. Do this at your own risk, I am not responsible for mistakes I made or you make. Steps to enable hibernation

  Create a subvolume for your swapfile
  sudo btrfs subvolume create /swap
  Calculate the size of your swapfile
  It’s your zram size + your RAM size. You can see the size of your zram with:
  swapon --show
  Mine was 30GB and my RAM size is 30GB, so my swapfile needs to be 60GB. That’s a lot of space, but for me not a problem.
  Create the swapfile
  sudo btrfs filesystem mkswapfile --size 60g --uuid clear /swap/swapfile
  Find the UUID of the (virtual) device where the swapfile resides, copy it for later use
  sudo findmnt -no UUID -T /swap/swapfile
  You will get something like 58239ee3-aa2b-32ef-b7b2-2f591ee2251b
  Aquire swap file offset, copy it for later use
  sudo btrfs inspect-internal map-swapfile -r /swap/swapfile
  You will something like 52635
  Add kernel parameters you acquired is step 4 and 5
  Edit the file /etc/sdboot-manage.conf and add resume=UUID=step 4 and resume_offset=step 5 in LINUX_OPTIONS=. It will look something like this:
  LINUX_OPTIONS="zswap.enabled=0 resume=UUID=58239ee3-aa2b-32ef-b7b2-2f591ee2251b resume_offset=52635 nowatchdog splash"
  Regenerate all systemd-boot entries with the following command
  sudo sdboot-manage gen
  Configure initramfs - add resume hook
  Edit the file /etc/mkinitcpio.conf and add resume into HOOKS= It must be after udev and encrypt. It will look something like this:
  HOOKS=(base udev autodetect microcode kms modconf block keyboard keymap consolefont plymouth encrypt resume filesystems)
  Regenerate initramfs
  sudo mkinitcpio -P
  Add swapfile to fstab with low priority
  Edit the file /etc/fstab and add on the last line:
  /swap/swapfile none swap defaults,pri=0 0 0
  Enable swap on running system
  sudo swapon /swap/swapfile
  Check if swap is enabled
  swapon --show
  You should now see something like
  NAME           TYPE       SIZE USED PRIO
  /swap/swapfile file        60G   0B    0
  /dev/zram0     partition 30,7G 6,3M  100
  Reboot your system

After reboot, hibernation should be enabled in the settings of your Desktop Environment (if you use one). You can also test it on the command line with:

sudo systemctl hibernate Suspend then hibernate

If you’re a fan of suspend-then-hibernate, like me (ideal for laptops if you ask me), you should edit the file /etc/systemd/sleep.conf, remove the # in front of HibernateDelaySec= and add the number of seconds. I have 7200 seconds (2 hours). You also need to configure it in your Desktop Environment after that. Gnome has no setting for that, but KDE Plasma (Settings-Power Managment) does.

/etc/systemd/sleep.conf

[Sleep] #AllowSuspend=yes #AllowHibernation=yes #AllowSuspendThenHibernate=yes #AllowHybridSleep=yes #SuspendState=mem standby freeze #HibernateMode=platform shutdown #MemorySleepMode= HibernateDelaySec=7200 #HibernateOnACPower=yes #SuspendEstimationSec=60min Sources used:

Boot Manager Configuration in CachyOS

Suspend and Hibernate at ArchWiki

BTRFS at ArchWiki

Framework Community

Disable/Enable modules pre-post hibernation in linux zcfan for OpenRC Blog

  OPNsense dnsmasq + UniFi adoption (option 43) 
  OPNsense with KPN fiber and iTV 
  Disable/Enable modules pre-post hibernation in linux 
  Enable hibernation in CachyOS alongside zram swap with full disk encryption on BTRFS 
  zcfan for OpenRC 
  Thinkfan for OpenRC 
  PiTemps 
  ZFS Health script 

Logo Meganerd.nl Privacy Policy

© 2025 Meganerd.nl

francois/hibernation.1760776895.txt.gz · Dernière modification : de francois

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki