家庭内LANをGigabit Ethernetにした時に、Gentoo Linuxサーバに玄人志向のGbE-PCIをインストールした時でメモです。
GbE-PCIは、
VIA製VT6122を搭載した、玄人志向のギガビットのNICです。1000円で購入でき、性能も比較的高評価です。Gentoo
Linuxにもインストール可能ですが、私の場合は結構苦労したので、インストール方法を紹介します。なお、カーネルは2.6.16時の記録です。
まず、ドライバをダウンロードします。
VIA Velocity Family Gigabit Ethernet Driver
解凍したら、解凍したディレクトリに移動して、
# make
# make install
で、コンパイルに成功したらラッキー。しかし、私はコンパイルでエラー発生。その場合は、以下の内容を"patch.txt"として保存します。た
だし、改行コードなどは「velocity_main.c」ファイルと同じくしなければなりません。私は、Fedora
Core5上のFireFoxでコピーした後、gEditでペーストし、保存しました。
--- velocity_main.orig.c 2005-07-22 10:57:16.000000000 +0200
+++ velocity_main.c 2006-05-17 22:14:14.000000000 +0200
@@ -1957,7 +1957,11 @@
#endif
if(pci_dev_driver(pcid) == &velocity_driver) {
if (pci_get_drvdata(pcid))
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11)
+ velocity_suspend(pcid, PMSG_SUSPEND);
+#else
velocity_suspend(pcid, 3);
+#endif
}
}
}
@@ -2001,7 +2005,11 @@
velocity_save_pci_context(pInfo, &pInfo->pci_context);
velocity_shutdown(&pInfo->hw);
pci_disable_device(pcid);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11)
+ power_status = pci_set_power_state(pcid, pci_choose_state(pcid, state));
+#else
power_status = pci_set_power_state(pcid, state);
+#endif
}
#else
pci_disable_device(pcid);
保存後、
# patch < patch.txt
として、「velocity_main.c」にパッチを当てます。
# make
# make install
で、モジュールのコンパイルとインストールが終了。コンパイルできなければ文字コード、改行コードなどを改めてみてください。
ディレクトリ /etc/modules.autoload.d にあるkernel-2.6のファイルに、
velocityget
の一行を書き込みます。これで、起動時にvelocitygetのモジュールが読み込まれます。
# cd /etc/init.d
# cp net.eth0 net.eth1
# rc-update add net.eth1 default
で、再起動時にeth0とeth1が起動するようにし、
# vi /etc/conf.d/net
で、ネットワークの設定を行います.
# /etc/conf.d/net:
# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/conf.d/net,v 1.7
# 2002/11/18 19:39:22 azarah Exp $
# Global config file for net.* rc-scripts
# eth0とeth1のネットワークの設定
#
iface_eth0="192.168.0.10 broadcast 192.168.0.255 netmask 255.255.255.0"
iface_eth1="192.168.0.20 broadcast 192.168.0.255 netmask 255.255.255.0"
#ゲートウェイをどうするか。インタフェース/デフォルトゲートウェイ
gateway="eth1/192.168.0.1"
再起動してみて、
# /sbin/ifconfig
eth1 Link encap:Ethernet HWaddr 00:02:2A:DD:05:45
inet addr:192.168.0.20 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:85241 errors:0 dropped:0 overruns:0 frame:0
TX packets:119855 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:26372969 (25.1 Mb) TX bytes:45627488 (43.5 Mb)
Interrupt:9 Base address:0x1800
とし、「HWaddr
00:02:2A:DD・・・」となっているほうが今回インストールしているVT6122のNICとなります。従来ついているNICと逆転するかもしれま
せん(従来ついているのがeth0からeth1になったりする)。場合によっては/etc/conf.d/netを所望の設定になるようにさらに設定しな
おします。