事の発端は、いままで愛用していた、Mebius PC-PJ1-M3の電源コネクタの接触が悪くなり、Laptop運用が困難になったことにある。 私は週に1、2回高速バスで2時間ほど移動するので、この事態は極めて重大だ。(おいおい)ということで、これを期に新しいNote PCを買うことにした。
ちなみに今まで使っていたMebius PC-PJ1-M3は、かれこれ5年以上使っていた。一度だけ基盤交換という大修理とバッテリの交換を行なったが、それ以外は実用上支障無しだった。
今回購入したSharp Mebius PC-MM1-H3Eは、Transmeta Crusoe TM5800 1GHzを登載したB5ノートでメモリは256MByte固定である。グラフィックもXGAが出るのもうれしい。 詳しい仕様はここ。 店の人に、「MS-Officeとクレイドルは付いていないがいいか」と聞かれたが、どうせWindowsはすぐ消してしまうのだ、いらないと答える。それにしてもクレイドルは何に使うんだ?
さて私が所属している研究室には、おなじシリーズのNote PCがある。それも純正CD-ROMドライブ付きで。私が買ったモデルはもちろんCD-ROMドライブなど別売りであるので、研究室のCD-ROMドライブを借りることにした。
しかしここでミスしてしまった。私はDebian派なのだが、DebianのCD-ROMを自宅に忘れてきてしまったのだ。ということで泣く泣く後輩のH氏の机にあったRedHat9を借りることにした。(借り物ばっかりだな)
以下に今までに遭遇した問題と、解決できた問題の解決策を列挙する。
Install作業は、Xも無事に立ち上がり、順調に進んだかのように見えた。しかしパッケージの展開のところで3回Installerがハングアップした。CD-ROMドライブのアクセスランプが点滅したまま画面に変化がないのだ。コンソールに落ちてテンポラリディレクトリを見つけ、パッケージのファイルサイズを監視したが変化はない。おそらくハードウェアの問題だろう。3回ともハングした場所は違っていた。諦めかけた頃インストールが成功した。おそらくこれはまぐれだろう。ネットワークでのインストールを試してみる価値があるかもしれない。
このLANカードが存在しないという問題の解法は、実は知っていた。以前使っていたPC-PJ1-M3も同じ症状を見せたからだ。この解法は、BIOSメニューのPnP OSをDisableにすることである。
バッテリ運用中でありながら、battstat-appletはAC電源運用中と宣う。バッテリ残料は0だし。どうもAPMが動いていないようなので、kernelをコンパイルしなおして、APMではなくて、ACPIを使うようにしたら問題無く動作した。kernel documentationのpm.txtにAPMとACPIを同時に有効にできないとあるので、APM Supportを'N'にして、ACPI Supportを'Y'にする。
ここで余談だが、kernelコンパイル時のテクニックを。はっきり言って、どのKernelオプションを撰べばいいか、よくわからないという人が多いのではないか。そこで、ディストリビュータが提供しているカーネルのカーネルオプションを叩き台にすることを提案したい。これはRedHatだろうがDebianだろうが関係ない。少なくとも私はこのふたつのDistributionでこの方法でカーネルをコンパイルしている。
# cp /boot/config-2.4.20-8 /usr/src/linux-2.4/.config
# cd /usr/src/linux-2.4
# make oldconfig
# make dep
# make 2>&1 | tee compile.log
# make install 2>&1 |tee install.log
Distributerはどんな環境でも動くようなカーネルを提供することに努力するために、ほとんど全てのオプションが選択され、モジュールが可能なものはほとんど全てモジュールになっている。則ちこの方法は無駄が多すぎる。「せっかくカーネルをコンパイルするんだったらいらないものは削ればいいじゃないか」という意見もあるだろう。私もそう思う。しかし現状からの変更が最小限になるので、不測のトラブルは少くなる。安全側で行動するという見地からこの方法を提案したい。
これはドライバがロードされていないからである。[Fn]+[F1]で無線LANを有効にして、orinoco_pciをロードする。
# modprobe orinoco_pci起動時に無線LANドライバを有効にしたいなら、modules.confにalias eth1 orinoco_pciを追加する。
RedHat9が提供するカーネル(2.4.20-8)で内蔵無線LANカードで運用していると、しばらく通信するとLANが切れることがある。これは後述するUSBの問題で、カーネルを2.4.22-pre2にしたところバッテリが切れる寸前を除いて、症状がでなくなったように思える。 kernel 2.4.21のChangelogを見ると、2.4.21-pre5でorinocoドライバがアップデートしているので、この時に直ったのかな。
例えばGnomeが何か音を鳴らそうとすると、画面がフェードアウトして何もできなくなってしまう。BlueCurveを終了させるときも然り。これはインストーラが自動的にインストールするサウンドドライバtridentとの相性が原因のようだ。ALSA-0.9.4にすると解決。
どうやらUSB1.1ドライバusb-ohciのロードに失敗している。これがロードできないとUSBフラッシュメモリが使えない。しかしカーネルのバージョンを2.4.22-pre2にしたら直った。Changelogを見ると、USBがかなりアップデートされている。
以上がSharp Mebius PC-MM1-H3EにRedHat9をインストールしたときに生じた問題と、私なりの解決策である。やったことは次の通り、