エンタープライズ:コラム 2003/08/29 16:38:00 更新


Linux Column:オープンソースならではの問題回避策を考えてみよう

Linuxを始め、さまざまなOSでは、問題回避のために情報収集したり、そのためにコストを掛けたりする。今回のコラムでは、ノートPC購入からその後に起こった問題を見つめ、回避策のいろいろを考えてみる。

 前回のコラムでは、「Linuxを使うにはどのようなハードウェアを購入すべきか」という問いをテーマにした。しかし、歯切れの悪い答えしか見いだせなかった。その後、偶然にもLinuxが動作するノートPCを大量購入するという機会があった。今回は、その際に考察した事項を紹介していくことにしよう。

Linuxが動くノートPCを探せ

 筆者の会社では、最近になって特に客先へ出向いて技術的なセミナーを行うことが増えてきた。そこで、思い切ってノートPCを購入することにしたのだ。1台購入するだけならばまだしも、今回は10台以上まとめての購入となるため失敗は許されない。当然コストも押さえたいため、10万円程度で購入可能なオールインワンタイプにターゲットを絞ってみた。これがまず最初に決めた事項だ。

 この価格帯の製品では、当然のようにWindows XP Home Editionがプリインストールされていることがほとんどであり、Linuxでの動作保証はされていない。だからこそ、今回の用途のように各デバイスがLinuxで動作するのかを下調べしておく必要性がある。チェックするポイントは大まかに次の通りだ。

 最近のグラフィックチップはメインメモリを共有するものが多い。なぜならば、その方がコストが押さえられるからだ。物(チップ)によってはX Window用のドライバが用意されているが、最低でもVESA(Video Electronics Standards Association ビデオカードの標準化を行う業界団体)対応のドライバで動作(表示)できるだろう。そして、周辺機器としてFDやCD-ROMドライブ、ネットワークデバイスも搭載されていることが望ましい。この中でもやっかいなのはネットワーク周りだ。使い勝手を考慮すれば、Linuxできちんと事前に動作が確認されているチップを利用したい。

イギリスからの情報によるとnx9005で動作検証されていた

 これらのことを考慮しつつ、Googleでさまざまな情報を探した。候補とする製品型番とLinuxをキーワードにしたが、探したものでは意外と情報が少ない。そんな中、今回購入することになったHewlett-Packardの「nx9005」に関する決め手情報となったのが次のサイトだ。

・Matt Wright Consulting
http://www.consultmatt.co.uk/nx9005.php

 サイトオーナーの情報を見てみると、なんとイギリス在住で18歳の少年とのこと。勉強をしつつ、フリーのコンピューターコンサルタントとして活躍されている。こんなことができてしまうから、Linuxはおもしろい。

 結局はこのサイト情報が決め手となって、今回はnx9005を購入することにした。軽量さとの天秤になるができる限り画面が広いがよいだろうと思い、15インチモデルだ。そこでまずは動作検証用に1台を購入し、問題なければ追加分を発注することにした。

Linuxは動くがPCMCIAでトラブル発生

 話を急ごう。Red Hat Linux 7.3と9をインストールしたが、問題なくインストールができた。インストーラはGUIで表示されるし、X Windowも問題なく動作した(RHL9はビデオチップを自動認識するが、これは動かない。VESA用ドライバにする必要がある)。

 唯一の問題は、ネットワークデバイスとPCMCIAの割り込み(IRQ)が競合してしまい、OS起動時にフリーズしてしまうこと。動作状況から調べてみたが、どちらもIRQ11を使用しており、ネットワークデバイスの動作後にPCMCIAドライバがロードされるとフリーズするようだ。

 そこでいろいろと試してみたところ、PCMCIAを先にロードすることで問題が回避できた。本当はドライバロード時にIRQを変更できればよいのだが、nx9005で使用しているNational SemiconductorのDP83815用ドライバ(natsemi.o)は使用するIRQが変更できないのだ。基本的に筆者の用途ではPCカードを使用する可能性が少ないはずだが、もしも利用する必要性が出てきた場合には、Linux起動時のサービス起動順を変更すればよいだろう。

 結局は、この問題を解決するために半日以上を要してしまった。そのものズバリの事例が見つかればよかったが、検索の仕方が悪かったのか結局は自らで原因究明することになった。いま思えば、苦労なく動作するPCばかりを使ってきたため、この手のトラブルシューティングに不慣れなことが所以しているかもしれない。その分、色々と勉強になったから善しとするか(と自分を納得させてみる)。

問題回避にはさまざまなものがある

 今回は下調べの段階でかなり情報が得られていたので、実際に発生した問題はごく一部で済んだ。万が一、解決できなかったとしても、当面の利用には支障がないような問題だったのは幸いだった。

 今回のような問題であれば、筆者が行ったような回避策でもよいし、場合によってはIRQを変更するツールを用意したり、ドライバのソースコードを書き換えていく手段もあるだろう。筆者はどちらかというとプログラミングが苦手なため、自らでは積極的に行わないが、もっとクリティカルな業務で必要であれば、コストをかけてでもそのような修正を行う選択肢もある。この「何とかできる」という点が、間違いなくLinuxやオープンソースの強みだろう。

 一方で、そのような追加コストはかけられないという要請もある。比較的高額のサーバーに比べ、クライアント用途のマシンで低価格化を図るにはできるだけ手間暇を省く必要があるから、2つのOS選択肢を作ってLinuxが正式にサポートされるのは難しいだろう。それでもLinuxのサーバ利用でも同じような課題が突きつけられたが、ニーズの高まりがその課題を解決することになった。今度も同じようになることを期待したい。それほど難しい話というわけではないのだから。

[宮原 徹,びぎねっと]