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 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 hibernate.conf(5) for information on configuring the
rest of its functionality.
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 default.
The hibernate script accepts the following command-line options:
-h, --help Shows this help screen.
--version Shows the Hibernate Script version.
-f, --force Ignore errors and suspend anyway.
-k, --kill Kill processes if needed, in order to suspend.
Change verbosity level (0 = errors only, 3 = verbose, 4
Use the given configuration file instead of the default
--dry-run 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
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
0 Hibernation was completed successfully.
2 Hibernation was aborted due to errors from some part of the
script. (eg, modules not unloading, devices or filesystems in
3 Hibernate script was aborted by user with Ctrl+C. (This does not
mean the suspend was aborted by a user by pressing Escape).
4 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 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 Software Suspend, the
best place to ask is on the mailing list -
email@example.com. You will need to subscribe to post.
See http://www.suspend2.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 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 bugfixes)
· Cameron Patrick (many bugfixes and ideas, man page and Debian