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 Hibernation 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 TuxOnIce, which is not yet included in the main kernel tree and
must be downloaded from the TuxOnIce web site at
, 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 site.
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
(5) for information on configuring the rest of its
If the hibernate script is invoked with a name of the form hibernate-foo
then it will use the configuration file /etc/hibernate/foo.conf instead of the
The hibernate script accepts the following command-line options:
- -h, --help
- Shows this help screen.
- Shows the Hibernate Script version.
- -f, --force
- Ignore errors and suspend anyway.
- -k, --kill
- Kill processes if needed, in order to suspend.
- -v<n>, --verbosity=<n>
- Change verbosity level (0 = errors only, 3 = verbose, 4 =
- Use the given configuration file instead of the default
- Don't actually do anything.
- -g, --restore-grub
- Restores the grub menu to normal (use if a resume was not
completed successfully) and exits the script. A suspend is not
- --lock-console-as <username>
- 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
- -n, --no-suspend
- Disables actually suspending the system. This is useful for
testing the hibernate script itself.
- -r[0|1], --reboot[=<0|1>] (requires
- 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.
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
- Contains options which influence the hibernate script's
behaviour. See hibernate.conf(5) for more information.
- These directories contains "scriptlets" that
provide functionality when suspending and resuming. See the
SCRIPTLET-API file included with the distribution (which can be
found in /usr/share/doc/hibernate on Debian systems) for
information on how these work.
If you have problems with the hibernate script or TuxOnIce, the best place to
ask is on the mailing list - firstname.lastname@example.org. You will need
to subscribe to post. See http://www.tuxonice.net/lists for details.
If the suspend process itself crashes (while "Writing caches",
"Reading caches", or "Copying original kernel back", etc),
then the problem lies with TuxOnIce itself. See the FAQ at
http://www.tuxonice.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 bugfixes)
- Cameron Patrick (many bugfixes and ideas, man page and