はじめまして、赤木と申します。
Vine Linux 2.5がリリースされて何台かのマシンにインストール
してみましたが、一部マシンでNICのモジュール組み込みを失敗するのです。
何かと思いつつ調べて見たところ、
/etc/sysconfig/network-scripts/network-functions
内にてと思われる箇所をみつけまして、修整してみました。
ISA NICを使用し /etc/modules.conf に IO ADDR や IRQ を指定して
認識させている方には有益ではないでしょうか?
先日まで、 rc.sysinit にmodprobe eth0 等と書いて回避していました。
修整内容です。
---- 以下は標準の /etc/sysconfig/network-scripts/network-functions--
is_available ()
{
LC_ALL= LANG= ip -o link | grep -q $1
if [ "$?" = "1" ]; then
alias=`modprobe -c | awk "/^alias $1 / { print \\$3 }"`
if [ -z "$alias" -o "$alias" = "off" ]; then
return 2
fi
modprobe $alias >/dev/null 2>&1|| {
return 1
}
else
return 0
fi
}
----------------------------------------------------------------
以下修正後の /etc/sysconfig/network-scripts/network-functions
is_available () から5行目を
alias=`modprobe -c | awk "/^alias $1 / { print \\$2 }"`
の様に修整します( \\$3 を \\$2 に)と、うまくいきます。
is_available は、 /sbin/ifup からNICモジュールを組み込む時
呼ばれます。モジュールの組み込みの必要があれば、
alias=`modprobe -c | awk "/^alias $1 / { print \\$3 }"`
によって、該当 NIC の alias が設定されているか調べられますが、
取りだされる文字列がモジュールファイルそのものになっています。
その後、それをmodprobe で組み込みますが、切角 alias 切って
オプションで IO & IRQ を設定してるのに、無視してモジュール
そのものを組み込もうとしているため問題が発生したみたいです。
alias=`modprobe -c | awk "/^alias $1 / { print \\$2 }"`
にすることによって、 alias による組み込みにしました。
誰かのお役にたてれば幸です。
それでは。
--
/*--------------------------------------------------------------------*/
E-mail : oak@xxxxxxxxxxxxxxxxx
Home Page : http://www.05.alphatec.or.jp/~oak/
Real name : Keita Akagi Nickname : oak
/*--------------------------------------------------------------------*/