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