末永です。
> alias eth0 xxxxx
> のような記載はありません。
> このためLANが初期に立ち上がらないと思うのです。
このあたりは、以前 [vine-users:054775] に書いたのですが・・・。
まあそれはさておき、まさにその通りで/etc/modules.confに
alias eth0 8139too
を追記すればいいですね。
それよりも、気になったのが、
> このxxxxx(システムが認識しているLANデバイス名?)
> を知る方法はありませんか?
これです。確かにわかっていれば問題ないのですが、
わからない時にどうやって調べるのかって意外と問題ですよね。
これはあくまで私のやり方なのですが、こんな感じで調べます。
> /proc/pciには、
> Ethernet controller: Realtek Semiconductor Co., Ltd.
> RTL-8139 (rev 16).
まずここですね。この部分が全ての情報源です。このNICの
コントローラがなんなのかを調べることが重要です。
以上の/proc/pciとかlspciとかで調べられますね。PCIなら
簡単に情報が得られるのですが、ISAデバイス(いまどき使ってない?)
なんかだと、面倒な時には基盤をみて判断したりします。
でも、買ったNICの情報をWebで調べればコントローラがなんなのかは
すぐにわかりますね。ここではRealtek Semiconductor Co の
RTL-8139 が利用されていることがわかります。
次はこのRTL-8139のコントローラのドライバがなんなのか?
なのですが、これはカーネルドキュメントを見ればすぐにわかります。
まず以下を参照します。
/usr/src/linux/Documentation/networking/00-INDEX
このファイルは各ドライバのドキュメントのインデックスになっているので
このなかから RTL-8139 の項目を検索すれば以下が見つかるはずです。
8139too.txt
- info on the 8139too driver for RTL-8139 based network cards.
この段階で、RTL-8139 のドライバが8139tooだということがわかるのですが
確認のため、同ディレクトリの8139too.txtを見てみると、
"8139too" Fast Ethernet driver for Linux
RTL-8139, -8129, and -8130 10/100 Fast Ethernet adapters
いきなりタイトルからご丁寧に書いてありますね。
これではっきりと、RTL-8139のドライバが8139tooであることが
確認できたわけです。次にご存知の通り
# modprobe 8139too
でドライバモジュールをロードすれば認識完了のはずです。
この段階では任意でモジュールをロードしただけなので、
再起動してしまうとシステムのどこにもeth0のドライバが
8139too だということが設定されていないため、eth0が
認識されていない状態で起動されてしまいます。
そこで、起動するときにeth0のドライバは 8139too だということを
Linuxに教えてやるために/etc/modules.confに
alias eth0 8139too
こんな記述をしてやるわけです。
長くなってしまいましたが、私のやり方はこんな感じです。
皆さんはどうしているのでしょうか?
少々泥臭いやりかたので、もっとスマートな方法があればいいのですが。
株式会社エイチアイ ICP事業部
Yoshikazu Suenaga
末永 貴一
mailto:SUENAGA_Yoshikazu@xxxxxxxxxxxx
http://icp.hicorp.co.jp