In Slackware, hibernation works out-of-the-box and can be easily done from KDE's menu or XFCE logout dialog. Resuming from hibernation, however, is not set up, so when you turn on your computer again, it starts as normal. That is, if your hardware supports it and if you've set up a swap space larger than your RAM.
Hibernating in lightweight windows managers
In case you aren't using KDE, XFCE or other desktop environments, you can hibernate your system from console.
As root, you can hibernate via pm-hibernate command.
As regular user
Since HAL is deprecated and removed from Slackware 14.0, this works for older Slackware releases.
$ dbus-send --system --print-reply --dest="org.freedesktop.Hal" \ /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Hibernate
dbus-send --system --print-reply --dest="org.freedesktop.UPower" \ /org/freedesktop/UPower org.freedesktop.UPower.Hibernate
To tell your kernel where to resume from, you need to write the info to lilo.conf:
Replace /dev/sda6 with your actual swap space. Swap partitions are perfect, I think swap files should work too. If you don't know where your swap lies, look at /proc/swaps.
LILO doesn't support booting from LVM, therefore you have to create initial ramdisk (initrd). You need one even though your kernel has build-in support for LVM.
You don't have to adjust lilo.conf because you can set everything resume-related in initrd.
mkinitrd -c -k <kernel-version> -f <fs_type> -m <fs_type> -r <root_partition> -h /dev/volumegroup/swap -L
- -h set your hibernation/swap logical volume
- -L activate LVM
Afterwards, run lilo.
- Hibernate to encrypted swap - REAME_CRYPT.TXT