Table of Contents

Hibernate from a non activate swapfile from btrfs

* Important! * This didn't work! It is not secure! When wiping happens, the file gets moved to another place by btrfs, then, this doesn't work for two reasons: 1) Wiping happens in other parts of the disk, and the offset changes and has to be updated in all configurations files after wiping everytime.

Create swapfile

Find out resume device and offset

4594864128/4096=1121793

Configure system for hibernation

I have a system with encrypted swap, but I don't want to have encryption on the hibernation swap file. My idea is to use hibernation only when strictly necessary, because I don't want to need to put a password during booting. Then, this swap file should actually be always deactivated except before hibernation. When resuming, this swap space should be deactivated and then securely wiped! The script to do this would be this: myserverhibernate.sh:

!/bin/bash

echo "Activating swap from swapfile"
sudo swapon /swap/swapfile
sleep 1
echo "Hibernating"
sleep 0.2
xtrlock -b &
sudo s2disk
echo "Returning from Hibernate"
sleep 10
echo "Deactivating swapfile"
sudo swapoff /swap/swapfile
sleep 5
echo "Wiping swapfile"
#sudo wipe -k -f -q -Q 1 /swap/swapfile
sudo dd if=/dev/zero of=/swap/swapfile bs=1M count=24576 status=progress #reserve 24GB
sync
sleep 1
echo "Making swapfs again"
sudo mkswap /swap/swapfile
echo "All done, ready to hiberante again"

References

https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate#Hibernation_into_swap_file_on_Btrfs

https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate#Hibernation_into_swap_file

https://wiki.archlinux.org/index.php/Swap#Swap_file_creationhttps://wiki.archlinux.org/index.php/Swap#Swap_file_creation

https://askubuntu.com/questions/6769/hibernate-and-resume-from-a-swap-file

https://wiki.debian.org/Hibernation/Hibernate_Without_Swap_Partition

https://wiki.debian.org/Hibernation

https://unix.stackexchange.com/questions/521686/using-swapfile-for-hibernation-with-btrfs-and-kernel-5-0-16-gentoohttps://unix.stackexchange.com/questions/521686/using-swapfile-for-hibernation-with-btrfs-and-kernel-5-0-16-gentoo