2012年6月1日金曜日

r8168 のドライバ入れ替えに成功!(大変だった。。)

DDK は、アプリケーションではなくて仮想マシンなのね。ようやく理解。
はじめ CentOS の Xen 環境で DDK 仮想環境を作成しようと考えたが、古いマシンで動作している CentOS は準仮想環境。インストールはネットからのみで CDROM からのインストールは未サポート。がーん。

Xen Server 上に DDK 仮想環境を動かしてみる。Xen Center から Xen Server の接続がよくないので、Xen Server 上のコンソールから DDK を追加

# DDK をマウント
mount /dev/cdrom /mnt/cdrom

# DDK の仮想マシンをインポート
xe vm-import filename=/mnt/cdrom/ddk/ova.xml

インポートは成功したものの、xe vif-create コマンドが存在しない。がーん。
Xen Server から DDK 仮想マシンに接続してみる

# DDK の仮想マシンを起動する
xe vm-start uuid=[UUID]

# UUID で指定した VM のドメイン ID を取得
xe vm-list uuid=[UUID] params=dom-id

# 上記で表示された、ドメイン ID で指定した VM のドメインに入る
/usr/lib/xen/bin/xenconsole 3

残念ながら、DDK 仮想マシンには、CDROM をマウントできないようだ。
ためしに Xen Center をいじると何とか接続成功。
GUI で DDK 仮想マシンのネットワークインターフェースの追加に成功。

# 仮想マシンのネットワークインターフェイスの設定を変更
vi /etc/sysconfig/network-scripts/ifcfg-eth0
 DEVICE=eth0
 BOOTPROTO=static
 IPADDR=192.168.11.110
 NETMASK=255.255.255.0
 ONBOOT=yes
 TYPE=ethernet

# ルーティングの設定を変更
vi /etc/sysconfig/network-scripts/route-eth0
 192.168.11.110 dev eth0 scope link
 default via 192.168.11.110
これで、仮想マシンから Xen Server 本体に SSH がつながるといいが。。

# r8168 のドライバを Xen Server からコピー
scp 192.168.11.100:/tmp/r8168-8.031.00.tar.bz2 /tmp
パスワード入力後、コピーできた!

# ドライバをコンパイル(所定の場所に.koファイルが作成される)
cd /tmp
tar vjxf r8168-8.020.00.tar.bz2
cd r8168-8.018.00/
make all

DDK 上でコンパイル成功!!

# Xen Server 上でコンパイルしたファイルを、Xen Server 上に持ってくる
scp -p 192.168.11.110:/root/tmp/src/r8168.ko /root/workspace

# ドライバをカーネルモジュールの格納場所にコピー
cp -p /root/workspace/r8168.ko /lib/modules/2.6.32.12-0.7.1.xs6.0.0.529.170661kdump/kernel/drivers/net/.
cp -p /root/workspace/r8168.ko /lib/modules/2.6.32.12-0.7.1.xs6.0.0.529.170661xen/kernel/drivers

# r8169.ko は使用できないように退避

cd /lib/modules/2.6.32.12-0.7.1.xs6.0.0.529.170661kdump/kernel/drivers/net
mv r8169.ko r8169.ko.BK
cd /lib/modules/2.6.32.12-0.7.1.xs6.0.0.529.170661xen/kernel/drivers/net
mv r8169.ko r8169.ko.BK

# /etc/modprobe.conf を編集
alias eth0 r8168
options r8168 use_dac=1

# カーネルモジュールの依存関係を更新
depmod -a

# ドライバを組み込み
insmod r8168.ko

# ドライバがカーネルに読み込まれたことを確認
lsmod | grep r8
r8168                 220419  0

再起動したのち。通信状況を確認。OK~!ふー、大変だった。

参考資料

http://ameblo.jp/kaminoson/entry-10744254918.html
http://d.hatena.ne.jp/eth0jp/20111224/1324701783/
http://blue21.ddo.jp/server_koutiku/xs/xs60/xs60_driver_3.html

0 件のコメント:

コメントを投稿