edit /etc/Upower/Upowerc.conf and set
UsePercentageForPolicy=true
PercentageLow=20
PercentageCritical=8
PercentageAction=5
CriticalPowerAction=Hibernate
Now, restart the upower systemd unit:
systemctl restart upowerLeave a Comment
edit /etc/Upower/Upowerc.conf and set
UsePercentageForPolicy=true
PercentageLow=20
PercentageCritical=8
PercentageAction=5
CriticalPowerAction=Hibernate
Now, restart the upower systemd unit:
systemctl restart upowerLeave a Comment
On my laptop, I am running full disk encryption (LUKS with a single encrypted ext4 partition), and a single, large swap file as large as my system RAM (16GB).
Here's how to make it work:
Make your swapfile have at least the size of your systems RAM:
sudo swapoff /swapfile
sudo dd if=/dev/zero of=/swapfile bs=$(cat /proc/meminfo | grep MemTotal | grep -oh '[0-9]*') count=1024 conv=notrunc
sudo mkswap /swapfile
sudo swapon /swapfile
Note the UUID of the partiton containing your swapfile:
$ sudo findmnt -no SOURCE,UUID -T /swapfile
/dev/nvme0n1p5 20562a02-cfa6-42e0-bb9f-5e936ea763d0
Reconfigure the package uswsusp correctly:
sudo apt -y install uswsusp
sudo dpkg-reconfigure -pmedium uswsusp
# Answer "Yes" to continue without swap space
# Select "/dev/disk/by-uuid/20562a02-cfa6-42e0-bb9f-5e936ea763d0" replace the UUID with the result from the previous findmnt command
# Encrypt: "No"
Edit the SystemD hibernate service using sudo systemctl edit systemd-hibernate.service
and fill it with the following content:
[Service]
ExecStart=
ExecStartPre=-/bin/run-parts -v -a pre /lib/systemd/system-sleep
ExecStart=/usr/sbin/s2disk
ExecStartPost=-/bin/run-parts -v --reverse -a post /lib/systemd/system-sleep
Note the offset of your swapfile relative to the partition start:
$ sudo swap-offset /swapfile
resume offset = 34818
Tell grub to resume by editiing your etc/default/grub
NOTE: THE OFFSET IS DIFFERENT FROM SYSTEM TO SYSTEM! YOU NEED TO USE THE VALUE RETURNED ON YOUR SYSTEM!
GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=20562a02-cfa6-42e0-bb9f-5e936ea763d0 resume_offset=34818 quiet splash"
Update grub:
sudo update-grub
Create /etc/initramfs-tools/conf.d/resume
RESUME=UUID=20562a02-cfa6-42e0-bb9e-5e936ea763d0 resume_offset=34816
# Resume from /swapfile
Update initramfs:
sudo update-initramfs -u -k all
Now you can just hibernate your system with
sudo systemctl hibernate39 Comments