Thinkpad x31でのハイバネーションの設定

2004年 8月30日


1.ハイバネーション領域の確保

せっかくノートPCにVine2.6r4をインストールしたので、ハイバネーションやサ スペンドできた方が便利だよね、ということでその設定を行いました。
もともとカーネルは不完全とは言え、対応しているのでハイバネーション用の領 域をHDDに確保してやれば良いはずです。
ということで、またまた手抜きで、M$のOS上でPartitionMagicのお世話になりま す。といっても単に基本領域を一つ確保すれば良いだけです。今回は、WinXPが /dev/hda1にインストールされていて、Linuxは/dev/hda5以降の拡張領域にイン ストールされているので、/dev/hda1を縮めて、/dev/hda2を作りました。この時 /dev/hda2の大きさはメインメモリの大きさより大きくなければなりません。今 のところ256MB+512MBの構成なので、800MBほど確保しておけば問題ないでしょう。 将来的にメモリを増設する気ならば、その分も考慮しておきましょう。
PartitionMagicで領域が確保できたなら、領域のパーティションタイプを変更し ます。今度はLinuxを起動します。rootになって、fdisk /dev/hda2 でfdiskを起 動し、パーティションタイプをa0に変更します。

次は、領域のフォーマットです。これには lphdisk を用います。今回はsrc.rpmをダウンロードしてコンパイルして使用しました。

lphdiskの使い方は簡単です。まず、

lphdisk -n

として、書き込みなしで実行します。これで特にエラーがなければ、

lphdisk -f

として、実際にフォーマットを行います。
今回は、余裕を見て大きめに/dev/hda2を作成したので、推奨パーティションサ イズが違うとエラーが出ました。この場合は、

lphdisk -nf

として、書き込みテストを強制的に実行します。これで、/dev/hda2に書き込め ることをチェックして、最後に上記のようにlphdisk -fでフォーマットしました。

実際にハイバネーションを行うときには、カーネルの電源管理はacpiではなく apmで行う必要があります(acpiの実装が不完全のため)。
そこで、カーネルをブートする際、LILOの画面で、ctrl-xを押してブートプロン プトを出し、

boot: linux apm=on acpi=off

のように打ち込むか、lilo.confの中に、

append="apm=on acpi=off"

と書き込んでおくかしないといけません。
なお、lilo.confを書き換えたら、必ず、/sbin/liloを実行することと、 bootpartで新しいブートセクタを取得し直すことを忘れないように。

これで、

apm -s

でハイバネーションし、

apm -S

でサスペンドするようになります。
今のところ、Xも無線LAN(これはまた別途設定)も問題ありません。が、一つだけ 問題が出ています。それは、USB。なぜか、USBだけがハイバネーションした後に 使えなくなります。
うーむ、どうしたものだか。

Top


Last modified: Mon Aug 30 16:13:12 JST 2004