4

I'm currently on Linux Mint 19.1 and it uses swap file by default instead of swap partition. Everything including suspend works fine. But resume after hibernation is not working. I have following configuration in my /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=38c97b08-a1d5-44b5-9e96-afca13595fe2 resume_offset=27854848"

where UUID is the root partition where swap file belongs and resume_offset is the offset of the swap file. System successfully hibernates. But on the next boot, it shows resuming from the UUID location and suddenly screen goes blank( see this ). There is no response from the system after that. I have gone through the following threads and nothing seems to work.

Complete system details can be found here

I have secure boot disabled and currently on kernel 4.18. Does anyone have success with hibernation using swap file or any idea on why hibernation not working?

1

Linux Mint 19 does not support hibernation out of the box as per a Guide article in the Mint Forums.

The standard hibernation configuration will fail if your swap file is not in /swapfile .

If there is not enough room in the swap file for the contents of your RAM plus whatever else you may have swapped out already, hibernation will fail, since the kernel writes a hibernation image of a size up to 2/5 the size of your RAM. As a rule of thumb, simply set up your swap file to at least the size of your RAM, or even double your RAM on systems with very low total RAM (since you are more likely to swap).

Please run this in a terminal window: free -h then swapon to confirm the swap file is large enough. If it is not large enough, expand the swap file. If it is, please proceed with:

RESUME_PARAMS="resume=UUID=$(findmnt / -o UUID -n) resume_offset=$(sudo filefrag -v /swapfile|awk 'NR==4{gsub(/\./,"");print $4;}') "  

if grep resume /etc/default/grub>/dev/null; then echo -e "\nERROR: Hibernation already configured. Remove the existing configuration from /etc/default/grub and add these parameters instead:\n$RESUME_PARAMS";else sudo sed -i "s/GRUB_CMDLINE_LINUX_DEFAULT=\"/GRUB_CMDLINE_LINUX_DEFAULT=\"$RESUME_PARAMS/" /etc/default/grub;fi   

Unless there is an error message, then do sudo update-grub; if there are error messages, follow their instructions before performing sudo update-grub.

Lastly, add Hibernation to the GRUB2 menu with

sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla <<'EOB' [Enable hibernate] Identity=unix-user:* Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions ResultActive=yes EOB

  • Thanks for the reply. I have the same configuration generated by the script already in my /etc/default/grub file. My ram size is 7.7 GB and the swapfile (/swapfile) is having 8GB size. – Basil K Y Dec 31 '18 at 20:07
  • Then, I'd look for an error in the configuration. – K7AAY Dec 31 '18 at 21:05
1

I have followed many tutorials and none of them seems to work. Sadly, this is caused by a regression in recent kernel versions and there is already an active bug report on launchpad.

hibernation (freezes on resume) since 4.13.0-25.29

It's more than a year now since the the bug was reported and no fix or workarounds till now. Please report on the above launchpad bug if somebody also experience this bug.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.