Intel PRO/1000 MT Server Adapter をなぜか手に入れてしまったので、
使うためのドライバを導入しようと思ったら、カーネルのソースコードが必要とか。
とっくに削除しちゃっていたので、探してみると、
1年前から今まで動かしていた2.6.30は脆弱性があったらしく一般公開はされてない。
もういいよ。知らない。
というわけで、新しく入れなおそうと思い立ったわけです。
今回は普通に入れてもつまらないので、RealTime(rt)パッチを適用するところからやってみた。
入れたバージョンは2.6.33.6-rt。
最新安定版は2.6.34.1だが、rtパッチがないようなので。
kernel
作業はNICのドライバの事情により/usr/srcで行った。
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.6.tar.bz2
tar xv linux-2.6.33.6.tar.bz2
wget http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.33.6-rt26.bz2
bzip2 -d patch-2.6.33.6-rt26.bz2
linux-2.6.33.6へ移動し、rtパッチを当てる
cd linux-2.6.33.6
patch -p1 < ../patch-2.6.33.6-rt26
.configはバックアップを取っていたのでそれを使用。
というのも、必要な設定を忘れているせいか、デフォルトのままで行うと、自分の環境ではカーネルパニックになったから。
コンパイルの時間が30分かからなくておかしいと思ったらこれだよ。
そこで今まで使ってたkernelの.configを使ってみたら回避できた。
.configを作ったら、後はmakeするだけ。
以上。
NICドライバ
まず、MACアドレスを控えておく。MACアドレスは製品のシールの左上に書かれている。
IntelのページにLinux向けのドライバがあるので、入手。多分このへん。
http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=9180&ProdId=879&lang=jpn
解凍して、移動して、make installする。
tar zxf e1000-8.0.19.tar.gz
cd e1000-8.0.19/src
make install
正常に終わると、以下の場所にドライバが追加される。
/lib/modules/
以下で古いモジュールと新しいモジュールを切り替える(IntelのReadMe.txtより)。
rmmod e1000; modprobe e1000
make installでエラーが出る人は、カーネルのソースがない人。
導入されたものと同じソースコードが必要で、かつ、1度コンパイルを行っているものが必要らしい。
ネットで調べると、make include/linux/version.hすればいいらしいけど、
上の流れから僕は既に1度構築したものを持っているので、これをしなくてもできた。
次に、NICを切り替える。
今はオンボードにつないでいるので、そこから新しいNICを使ってもらうようにする。
MACアドレスを書き換えるだけでよい。
以下のファイルを変更する。
/etc/sysconfig/network-scripts/ifcfg-eth0
このファイルは大体こんな感じに書かれている。
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.11.255
HWADDR=00:19:21:XX:XX:XX
IPADDR=192.168.11.xxx
IPV6ADDR=
IPV6PREFIX=
NETMASK=255.255.255.0
NETWORK=192.168.11.0
ONBOOT=yes
NICを入れ替えるだけなら、HWADDRの行をそっくり新しいNICのMACアドレスに書き換えるだけ。
最後に再読み込みをして起動させて終了。
ifdown eth0; ifup eth0;
必ず2つのコマンドを1行で撃つ事。
遠隔の場合、ifdownされるとネットに繋げなくなるため遠隔操作できなくなる。
複数ある場合、eth0が優先されるっぽいが、よくわからない。
後はオンボードのLANを無効にしたりして自己満足する。
以上。