前に戻る

ちょっと物知り博士のちょこっと講座

第5回 続52歳の手習い「恥をさらす」について考える・LINUX奮闘記
LINUXとの格闘の始まり。
そもそもLINUXは LISENCE FREE のOSなので、筆者がたどったLinuxとの格闘の足跡と、成果は、GNUの精神に則って、皆さんにFREEで公開すべきでしょう。LINUXについてまったくの白紙の状態から、何とかWEB サーバーの構築が出来るとこまできた、その過程の、失敗、考え違い、成果を隠さず公開することは、いま悪戦苦闘しているあなた、これからLINUXにさわろうとしているあなたの参考になるだろうと思います。
30年もコンピュータの世界で仕事をしてきて、汎用機からパソコンまで、大型機のOSからMicrosoftのMS/DOS、WINDOWSまでいろんなシステムを触って来ましたが、LINUXほど魅せられたOSはありません。
OSそのものが LISENCE FREE(基本的に無償=タダ)だから魅力があるというのではなく、LISENCE FREEであるがために、世界中の人が寄ってたかってLINUXを鍛え、また技術者の方もLINUXに鍛えられその結果のこっている膨大なソフトウエア資産が、全世界の人の共有資産であるということに非常な感動を覚えます。
昨年購入していたLinux CD-ROM バージョンが古いので、新しいRedHat6.2Jを注文しておいたパッケージが送られてきた。 さあ取り掛からなくっちゃ。
えらい薄っぺらいマニュアルだな。

LINUX install準備のために薄っぺらいマニュアルを読む・・・わけがわからん。
新しいOSへの取り組みは、今まで使ってきたOSと比較しようとするのでちょっと変わった事柄が出てきたら、安全策を考えてしまって前へ進めなくなってしまう。とにかくやってみよう。

インストールパターンが3種類あるらしい。クライアントモード、サーバーモード、カスタムモードか。
初心者はクライアントモードでインストールを行うのを推奨するとマニュアルには書いてあるけど、そもそもUNIXはマルチで動くようになっているんだから、サーバーモードではないんかいな。

あれこれ考えて見たけど結局 どのパターンがいいのか判断がつかず、自己流にサーバーモードでインストール実施することにする。
コンピュータは昨年若い衆に指示した富士通のFMVが壊れている様子だったので、WINDOWS98で使っていた IBM・PC300GLをLINUX用にあけることにして、とにかくインストール開始。

RedHatのマニュアルに、機器の仕様を細かく把握しておいたほうがいいと書いてあったので、WINDOWS98のシステムをつぶす前に、WINDOWSのハードウエアリストをプリントしておいた。 これがあとで役に立ったのです。

インストールはごく簡単だ。GUIから発するQ/Aに応えることで前へ前へ進む。(なーんだ楽勝だな・・・)
ディスクのパーティションは FDISK でやるのだけど、これもMS-DOSでやったことがあるし簡単でーす。
適当に大きさを決めて(大体の大きさはマニュアルに書いてある)1時間ほどで完了。 あとでわかったことながら、ディスクの大きさは本当は正確に計算しなければならないものです。

コンピュータを再起動して・・・・ン??? なーにもでてこないぞ。 画面の上のほうに login: とあるだけ。
アーそうか。これはマルチユーザーシステムだからあたりまえか。 とりあえず root でloginしてみようっと。

コマンドラインからの入力は、MS-DOSで慣れているので、たいしてどまどうことはない。コマンドが違うだけで動く。
WINDOWSになれているので、やはりGUI画面が欲しい。幸いLINUXには、GNOME というGUIでの開発環境があって、RedHat LINUX をインストールすると標準でインストールされている(らしい)ので早速それを動かして見る。
いきなりコマンドラインからマニュアルに書いてあった「startx」を入力する。・・・ムム。動きません。あたりまえでしょ。画面の設定もせずにいきなり「gnome]を動かしたので動作するはずが無い。
どうやって画面の設定をするんかな。・・・・・・??? これ以上進みません。

添付のLINUXの解説本は薄ぺらいのでチョッと頼りない。行きつけの本屋へいって「RedHat linux レファレンス」を見つける。分厚い本で3890円もする。パラパラめくってみると、ぎっしり詰まっている。「これ、これ」と勇ん
で購入し、持って帰って早速じっくりと読む。「なんでコンピュータ関係の解説本ちゅーのはこげ-な難しく書いとるんかなー??」。
まーそれでもやっと Xconfigurator というものを動かせば画面の設定ができるんだというところまではこぎつけた。

コマンドラインから、Xconfigurator と入力すると、画面設定用のGUIが出てくる。「・・・???・・(^^)」
モニタータイプだのXYサイクルだのいろいろ設定せんといかんみたい・・わきゃーわからん。
なんかの本で変な設定をしたらモニターが動かんようになるてなことを書いてあったのを想いだして、おそるおそるさわる。
2時間もかけて、何とかGUIの設定がLINUX に受け入れられたのか、GNOME が動く環境になった。
なるにはなったけど、いちいち手順をメモるのをしていなかったから、どーやったのかわからん。が、「まーえーわ」 もう一遍やるときはそのときじゃ。

Ethernet が動かない
会社のネットワーク上でLINUX をインストールしたのだから、当然この機械は、ネットワーク上で動かすことを前提にしています。
今までWINDOWS の機械はインストールしたことがあったから、ネットワーク環境の設定をすれば他の機械と繋がるだろうと安易な発想で、また「RedHat linux レファレンス」にたよって、探すと 「netcfg」というプログラムで設定するらしい。

LINUX Red Hat のインストールマニュアルを見ると、インストールを行なう時にネットワークの設定画面が出るからその画面で設定すればいいように記述があるが、そういえばこの機械(IBM PC300-GL)にインストール途中でそんな画面はなかったなー。

Xwindow を立ち上げて、netcfg を立ち上げて、eth0 のインターフェイスを登録して、再度 ping で信号が飛んでいるか調べる。 ウンもスーも言わない。

「RedHat linux レファレンス」を読んでみるとインターフェイスの状態を調べるプログラムがあるらしい。
/sbin/ifconfig -a と入力すると lo (ループバックインターフェイス)だけが表示される。
正常に動いているときは loeth0 のインターフェイスが状態表示されなければいけないのです。

もうこれだけで5日間も悩んでいる。あーでもないこーでもないと「RedHat linux レファレンス」をひっくり返してじっくりと読みまくった。結果次のことがわかった。
(1) CIRRUS crystal cs8920 のdriver がins されていない
conf.modules へ cs89x0 を設定したが cs89x0 が insされない
(2) option io=0x360 irq=11 を指定したが 同様

自分なりに、「これはインストールの時にコピーされている、NIC(network interface card)のドライバーが悪い」と結論を出して、何かで読んだ、「イーサネットカードはメーカーによっては、LINUXに対応していないものがあります」という情報を元に、インターネットでRedhat のサイトをブラウズすると、CIRRUS crystal cs8920 はちゃんと対応が出来ているときた。

そんなこと言ったって、動かんもんは動かん・・・なかばやけっぱち。 最後の手段「メーカに問い合わせる」 でもどうやって??
そんなときにインターネットが役に立つのです。インターネットブラウザを立ち上げて「CIRRUS」と入力して 検索してみたらちゃんとあるんです。
CIRRUS web siteにlinux redhat 2.0用ドライバが用意されている。早速ダウンロードして cs8900/cs8920 の資料をプリントアウトして読んでみる。
「・・・X%&9(")???・・・全部英語じゃーね-か」まあ、あたり前といえばあたり前、製品そのものがアメリカ製で、インターネットで入っていったサイトが、アメリカ英語圏なんだから。でも我輩、英語なんか楽勝(~~)!!ちょっと自慢です

この資料を読んでいくうちに次の文がめにとまる。
In case you can not re-load the driver because Linux system returns the"device or resource busy" message, try to re-load it by increment the IO portaddress by one. The driver will write commands to the IO base addresses to resetthe data port pointer. YOU can specify an I/O address with an address value onegreater then the configurated address.

英語の苦手な人のためにこれを訳すと 「デバイスがビジー」というメッセージが出て、うまくドライバーが(システムに)ロード出来ない場合 IO port のアドレス1 上げて、再度ロードしてみる。云々・・・」
膨大な行の中からこれを見つけるなんて、我輩の英語力スッバラシイ。

早速 /etc/conf.modules へ
alias eth0 cs89x0
options eth0 io=0x361 irq=11
を指定して try 、結果OK!! 山さん天才!!!


またまた長くなってしまいました。またのご縁を楽しみに。