Linux Suspend To Ram/Disk How-To - Ruhezustand/Standby mittels Kernel 2.6.32 und ACPI einrichten
Der Ruhezustand bzw. Standby-Modus (Suspend To Ram) ist eine sehr nützliche Angelegenheit für Notebook-Anwender, da man das Notebook ausschalten kann, ohne es komplett herunterzufahren. Unmittelbar vor dem Standby-Betrieb werden alle wichtigen Systemdaten im Arbeitsspeicher vorgehalten, so dass alle anderen Komponenten (Prozessor, Grafikkarte, Festplatte, etc.) ausgeschaltet werden können. Nur der Arbeitsspeicher und grundlegende Komponenten bleiben aktiv, um aus dem Schlafmodus wieder aufzuwachen.
Was bedeutet dies für den Anwender? Im Alltag hat er die Möglichkeit, das Notebook zwischendurch Schlafen zu legen, um beispielsweise in der Mittagspause eine Mahlzeit zu sich zu nehmen oder in der Universität den Hörsaal zu wechseln. Der Akku wird in dieser Zwischenzeit geschont, da die Leitungsaufnahme (Stromverbrauch) auf ein Minimum reduziert wird. Sie liegt quasi fast bei Null! Die Vorteile im Vergleich zum klassischen Herunterfahren liegen auf der Hand: der Wechsel in den Ruhezustand bzw. das anschließende Aufwachen ist um ein vielfaches schneller. Des Weiteren befindet sich das Notebook in dem Zustand vor dem Herunterfahren, d.h. alle Programme, geöffneten Dokumente, etc. finden sich im Urzustand wieder vor. Ein sehr praktisches Features.
Es sei erwähnt, dass Suspend To Ram (Abbild im Arbeitsspeicher) oder Suspend To Disk (Abbild auf der Festplatte) nicht immer 100% funktioniert. Einige Komponenten wie USB-Geräte, Netzwerkschnittstellen, usw. können nicht immer sauber aus dem Tiefschlaf geholt werden. Aus diesem Grund ist es ratsam, das Notebook regelmäßig komplett herunterzufahren bzw. Daten vor dem Standby zu speichern.
Konfiguration unter Linux
Die Unterstützung von ACPI ist mittlerweile in der Linux-Welt gegegen, da die Entwickler in den vergangenen Monaten und Jahren vermehrt Arbeit in die Implementierung im Kernel gesteckt haben. In diesem Artikel wird gezeigt, wie man mit einem aktuellen 2.6.32 Kernel und den acpitools sein Notebook unter Linux (Gentoo) in den Tiefschlaf bringen kann.
Dafür wechseln wir mit cd /usr/src/linux in das Kernel-Verzeichnis und starten die Konfig mit make menuconfig. Anschließend aktivieren wir folgende Optionen:
Power management and ACPI options --->
[*] Suspend to RAM and standby
[*] Hibernation (aka 'suspend to disk')
[*] ACPI (Advanced Configuration and Power Interface) Support --->
Den Kernel kompilieren wir wie gewohnt mit make && make modules_install, kopieren diesen in das entsprechende Bootverzeichnis und installieren nach einem Neustart die acpitools. Hier ein Auszug aus der Gentoo-Paketverwaltung (unter anderen Distributionen bitte den entsprechenden Paketmanager verwenden):
# eix acpitool
[I] sys-power/acpitool
Available versions: 0.4.7-r1 (~)0.5.1
Installed versions: 0.5.1(20:00:49 12/04/09)
Homepage: freeunix.dyndns.org/site2/acpitool.shtml
Description: A small command line application,
intended to be a replacement for the apm tool
Nach der Installation starten wir das Programm acpitool, welches uns eine Fülle an interessanten Funktionen anbietet:
# acpitool -h
Usage: acpitool [option] . . .
Shows ACPI information from the /proc/acpi filesystem, like battery status,
temperature, or ac power. Can also suspend your machine (if supported).
-a, --ac_adapter AC adapter information
-A, --Asus show supported Asus ACPI extensions (LCD brightness level,
video out routing DSTD/acpi4asus info)
-b battery status, available batteries only
-B, --battery battery status, all info on all battery entries
-c, --cpu CPU information (type, speed, cache size, frequency ...)
-e show just about everything
-f, --fan show fan status
-F x force fan on (x=1) or switch back to auto mode (x=0). (Toshiba only)
-h, --help show this help screen
-j eject ultrabay device (Thinkpad only)
-l x set LCD brightness level to x, where x is 0..7
(Toshiba and Thinkpad only)
-m x switch the mail led on (x=1) or off (x=0) (Asus only)
-n x switch the wireless led on (x=1) or off (x=0). (Asus only)
-o x set LCD on (x=1) or off (x=0). (Asus only)
-s, --suspend suspend to memory (sleep state S3), if supported
-S suspend to disk (sleep state S4), if supported
-t, --thermal thermal information, including trip_points
-T, --Toshiba show supported Toshiba ACPI extensions
(LCD brightness level, video out routing, fan status)
-v be more verbose (more detailed error messages, only
usefull combined with other options)
-V, --version show application version number and release date
-w, --wakeup show wakeup capable devices
-W x enable/disable wakeup capable device x.
The x can be seen when invoking -w first.
-z x set Asus LCD brightness level to x, where x is 0..15 (Asus only).
If invoked without options, acpitool displays information about available batteries,
AC adapter and thermal information.
For more info, type man acpitool at the prompt.
AcpiTool v0.5.1, released 13-Aug-2009
Homepage: freeunix.dyndns.org/site2/acpitool.shtml
Interessant für uns sind die Befehle acpitools -s, um einen Suspend To Ram durchzuführen und acpitools -S, um das Notebook in den Suspend To Disk zu bringen. In der Regel sind Root-Rechte erforderlich, um dies erfolgreich durchzuführen.