FIVA MPC-205でLinux WS - ハイバネーションの設定

Last Modified: 2004.02.18

8. ハイバネーションの設定
以下は、VAIO-U1でLinuxインストール/設定メモを参考にさせて頂きました。
当然、Software Suspendを有効にしたKernelの再構築が終わっていることが条件です。

1. ACPIの動作について

  • ACPIデーモン(/etc/init.d/acpid)は、ACPIイベントとアクションの紐付けを行う。
  • ACPIデーモンは起動時に、/etc/acpi/eventsに登録されているイベントを読み込む。
  • 標準では、/etc/acpi/eventsにはacctrl, powerbuttonが登録されている。
  • powerbuttonイベントの内容が/sbin/haltになっているので、電源ボタンでShutdownする。
  • AC Adapterの抜き差ししたり液晶を閉めたりすると、ACPIイベントが/var/log/acpidに記録される。

2. スリープボタン

「Fn + F3」を押してみると、以下のログが/var/log/acpidに残ることがわかる(BIOSの設定によってはFn + F4)。

 received event "button/sleep SLPB 00000080 00000003"
 completed event "button/sleep SLPB 00000080 00000003"

3. イベントの登録

上記の情報を参考に、/etc/acpi/eventsに、Fn + F3が押された時のイベントを登録する。
ファイル名は、"sleepbutton"とする。

 event=button/sleep *
 action=/etc/acpi/actions/hibernation

4. アクションの登録

シェルスクリプト、/etc/acpi/actions/hibernationを作成する(当然実行権限を付ける)。

 #!/bin/sh

 sync                                                   <--- HDDにキャッシュを書き込む。
 sync
 sleep 2

 echo -n 4 > /proc/acpi/sleep                           <--- ハイバネーションするためのコマンド。

 sleep 2                                                <--- ハイバネーション復帰後は、ここから下が実行される。
 /sbin/kbdrate -r 30 -d 250                             <--- キー入力が遅くなるのを回避。
 /sbin/hwclock --hctosys                                <--- システム時刻が狂うのでハードウェアクロックをシステム時刻に設定。
 /sbin/ifconfig eth0 down                               <--- eth0が復帰しないので一度落とす。
 /sbin/rmmod rtl8139                                    <--- eth0のドライバを一度取り外すとeth0が復帰する。

5. /etc/lilo.confの修正

Software Suspendは、Swapにメモリの状態を保存する。
インストール時に指定したように、実メモリの2倍程度のSwapが確保してあるかを再度確認する。
修正後は、/sbin/lilo -vを忘れずに。
設定が終わったら、再起動する。

 append="acpi=on apm=off resume=/dev/hda2"              <--- resume=/dev/hda2を追加する(/dev/hda2はSwap)。

6. ハイバネーションしてみると....

  • Fn + F3でハイバネーションする。電源ボタンを押すと復帰する。
  • 復帰にはかなり時間がかかるので、Xでハイバネーションしないとあまり意味がない。
  • Xでハイバネーションすると、ログアウトしてコンソールに戻ろうとしても戻れないことがある。
    その時は電源ボタンで電源OFFするしかない。
  • ハイバネーションから復帰したくないときは、LILOの画面で"linux noresume"と入力すれば良い。
  • ハイバネーションに失敗したことは、今までほとんどない。

<Prev Top Next>
Copyright(C) 2001-2003 Katsuyuki Kobayashi.
このサイトへのリンクや引用時はメール頂戴
webmaster@kkoba.com