hibernate - save your computer's state to disk, and then switch it off
The hibernate script (or "suspend script") is used to invoke the Linux
kernel's Software Suspend functionality.
When you hibernate your machine, the contents of your computer's
memory will be saved to disc, and your computer will switch off. When
you switch it back on again, it will resume exactly as it was when you
hibernated. This script is designed for Software Suspend 2, which
is not yet included in the main kernel tree and must be downloaded
from the Software Suspend web site at http://www.suspend2.net/,
but can also utilise the vanilla kernel interfaces for swsusp or pmdisk
(through /proc/acpi/sleep or /sys/power/state).
Instructions on setting up the kernel can also be found on that web
The hibernate script takes care of the user-space side of the suspend,
including unloading and reloading drivers which don't suspend
properly, setting the system clock after resuming, taking down and
bringing up network interfaces and various other hacks that may be
required on some hardware. By default, all it does is restore the
system clock after suspending; see
for information on configuring the rest of its functionality.
If the hibernate script is invoked with a name of the form
then it will use the configuration file /etc/hibernate/foo.conf instead of the
The hibernate script accepts the following command-line options:
Shows this help screen.
Shows the Hibernate Script version.
Ignore errors and suspend anyway.
Kill processes if needed, in order to suspend.
Use the given configuration file instead of the default ()
Don't actually do anything.
Restores the grub menu to normal (use if a resume was not completed
sucessfully) and exits the script. A suspend is not performed.
Uses vlock to lock the entire system after resuming, requirng you to
enter the password for the given user to unlock it. This overrides any
username given in the configuration file. (Requires vlock)
-r[0|1], --reboot[=<0|1>] (requires UseTuxOnIce on)
If 0 is specified, disables rebooting after writing the image,
regardless of the Reboot option in the configuration file. If 1 or
omitted, will force a reboot after writing the image.
--bug-report (requires UseTuxOnIce on)
Gathers a bunch of information about your machine and writes it to
standard output. Please attach this information along with any bug
reports to the TuxOnIce mailing list.
Disables actually suspending the system. This is useful for testing
the hibernate script itself.
The exit codes returned by the hibernate script are currently as follows:
Hibernation was completed successfully.
Hibernation was aborted due to errors from some part of the script. (eg,
modules not unloading, devices or filesystems in use).
Hibernate script was aborted by user with Ctrl+C. (This does not mean the
suspend was aborted by a user by pressing Escape).
Hibernation was aborted by a kernel problem (hibernate.log and dmesg should
indicate why), or the user aborted the suspend with the Escape key.
Contains options which influence the hibernate script's behaviour. See
for more information.
These directories contains "scriptlets" that provide functionality
when suspending and resuming. See the
file included with the distribution (which can be found in
on Debian systems) for information on how these work.
If the suspend process itself crashes (while "Writing caches", "Reading
caches", or "Copying original kernel back", etc), then the problem lies with
Software Suspend 2 itself. See the FAQ at http://www.suspend2.net/ for
help on debugging.
This script was written by Bernard Blackham, with contributions from:
Carsten Rietzschel (modules, bootsplash and grub scriptlets. many ideas and
Cameron Patrick (many bugfixes and ideas, man page and Debian packaging)