Kodama's home / tips.
マシンがサスペンドモ−ドや ハイバネ−ションモ−ドに入るときの 合図を Linux に送るのも APM BIOS の役割になっている. そこで, Linux 側が APM に対応していないと, ちょっと困った事になってしまう. (suspend(メモリに残してCPUを停止), hibernation(HDD にメモリ内容を記録して CPU を停止).
APM 無しで, 特になにもしないで(ハ−ドウェア的に?), サスペンドできるマシンもあり, 一方で, APM BIOS サポ−トと言っていても, Linux の APM ドライバと相性が悪い ノ−トPCもあるらしい. 僕が使っている/使った 2台(IBM ThinkPad240, Panasonic PRONOTE nimi)は 問題が無かったので, うまくゆかないときの対策までは把握していない. kernel や pcmcia-cs の版と マシンの対応にもよるらしいので, 版を変えてみても良いかも.
参考文献 としてJF の Battery-Powered (特に 3章 APM (Advanced Power Management)), PCMCIA-HOWTO (特に 2章 Compilation and installation), Kernel-HOWTO を見てください.
PCMCIA-HOWTO は pcmcia-cs のパッケ−ジにも入っています. PCカ−ドの動作などで問題が出た場合には, JFの翻訳で概略を把握しておいて, pcmcia-cs 付属のもので確認すると良いです.
kernel と pcmcia-cs のソ−スを展開. 下のような感じに link しておくと良い. (tar xzvf とか ln -s の使い方を確認しよう.)
# ls -ld /usr/src/li* lrwxrwxrwx 1 root root 12 Dec 9 00:57 /usr/src/linux -> linux-2.0.38 drwxr-xr-x 15 root root 1024 Dec 13 11:53 /usr/src/linux-2.0.38 # ls -ld /usr/src/pcmcia* lrwxrwxrwx 1 root root 15 Dec 9 00:56 pcmcia-cs -> pcmcia-cs-3.1.1 drwxr-xr-x 11 root root 1024 Dec 9 15:13 pcmcia-cs-3.1.1kernel の README に従って kernel と modules を再構築.
# cd /usr/src/linux # make mrproper # make menuconfig"Advanced Power Management BIOS support" (APM) を有効にする. ここがポイントなので, 忘れないように.
その他の一般的な注意に関してはここでは扱わない.
# make dep # make clean # make bzImage # make modules各段階で異常が無いか見ておきます. ここで, 自信があるなら, kernel と modules をインスト−ルしても良いのですが, その前に pcmcia-cs を再構築しておく方が良さそうです.
# cd /usr/src/pcmcia-cs # make config ここでいくつかの質問が表示されるのでそれに答える. # make all問題が無ければ /usr/src/linux で modles と keruenl をインスト−ル. kernel は仮に フロッピ−ディスクに置くとして, フォ−マット(fdformat /dev/fd0h1440 とかで) した フロッピ−ディスクを差す.
# cd /usr/src/linux # make modules_install # make zdisk/usr/src/pcmcia-cs の方で pcmcia-cs をインスト−ル. /etc/pcmcia 以下も更新されるので注意. /etc/pcmcia ディレクトリ内に PCMCIA 関連の設定があります.
# cd /usr/src/pcmcia-cs # make install作ったフロッピ−ディスクを差して再起動. この時点で PCMCIA, サスペンド, ハイバネ−ション の動作を確認. 問題が無いなら /usr/src/linux でlilo をインスト−ル.
# cd /usr/src/linux # make bzlilo
lilo が参照するkernel と make bzlilo が想定するkernel(/vmlinuz) が 違う配布系もあるようです. /etc/lilo.conf の "image = /vmlinuz" のような行を確認してください. 食い違うようなら, 手で kernel を置きなおすか, /etc/lilo.conf を編集して /sbin/lilo を行う. 再起動して動作を確認.
Kodama's home / tips.