« 女児誕生 | メイン | 退院 »

2006年07月13日

めんどうだけど

もうくじけてWindowsに戻してしまおうかと思ったLinuxだけど、ちょっとずつ設定ができつつある。やっとサスペンドができるようになった。ThinkPad T60や新しめのT43なんかでは、HDDにSATA(SerialATA)を使っているために、サスペンドやハイバネーションからの復帰が鬼門。ググッてみると、みんな悲鳴をあげている。復帰後もSATAは眠ったまま起きて来ない。

それでも、ちゃんとSATAレジューム問題に対処するパッチを書いている人たちはいるし、UbuntuとかGentooといった勢いのあるディストロのカーネルには、すでに取り込まれていたりするらしい。

いろいろ試したら、HDDへの書き出しをともなうハイバネーションはできるようになった。AES暗号やLZなんとかという圧縮をしているらしく、カーネルでモジュールを作るか組み込んでおく必要があるとか、けっこう面倒。でも、やっぱりこうやって自分の手でLinuxを触っていると、「なるほど、そういうことをやるわけか。カーネルのAPIとしてAESを用意するのって、そういう意味があるのか」とか、そういうことが良く分かる。技術オタクにはたまらん。

ただ、HDDへ書き出すハイバネーションは、とてつもなく遅い。無意味に1.5GBもメモリーを搭載するもんじゃない。わざわざそのためにパーティションを切り直してスワップパーティションを追加したというのに……。

どこかでバッテリーテストを見かけたけど、ハイバネーションと、メモリに微弱な電流を流し続けるサスペンドって、たいしてバッテリーの持ちが変わらない。結局、電気を食うのは光るもの(バックライト)、回るもの(HDDとファン)、熱くなるもの(CPU)ぐらいで、メモリーなんて大したことないってことだ。PCを眠らせている時間は、ぼくの場合、せいぜい24時間程度なので、なおさらハイバネーションに魅力を感じない。

最新のカーネル、2.6.17.4をもってきて、Suspend2のパッチをあて、さらにBIOSのSATA設定でAHCIをCompatibleにすることで、メモリサスペンド(ACPIでいうS3)への移行と復帰ができるようになった。/etc/hibernate/hibernate.confでram以外の行をコメントアウト。これで「hibernate」と打つだけで、ちゃんとS3に遷移する。サスペンドも復帰も、異様に速い。Windowsのサスペンドと復帰と比べると、信じられないぐらい速い。Windowsは一体なにをやってるんだろうか。たかがHDDやファン、CPUを止めるぐらいの話じゃないのか。何か保険的な処理をやっているのだとは思うけど、もしWindowsでも、そういう処理の設定オプションを自分でいじれるなら、ぼくは全部オフにすると思う。落ちたら落ちたでいいから、1秒でも早くサスペンドしたり、復帰したりしてほしい。サスペンドに限らず、こういった選択の「自由」があって、選択についての説明が十分に与えられていることが、Linuxの魅力だ。

BIOSのSATA設定で互換モードのATA(hda)として使うと、DMA転送が効かず、信じられないぐらいディスクのパフォーマンスが落ちる。hdparmでリード速度をはかったら、1.5MB/secぐらい。「CONFIG_SCSI_ATA_PIIX=y」とやると、38MB/secに戻った。

Emacs関係を設定したり、サウンドを設定したり、ブラウザをカスタマイズしたり。うーん、いい感じになってきた。あとは無線LAN。

投稿者 ken : 2006年07月13日 23:42

コメント