Debian on x3250 (tg3)
Debian on x3250 (tg3)
- カーネルのイメージをダウンロード
# uname -a# apt-cache search kernel-headers-"Kernel Version"
# apt-get install kernel-headers-"Kernel Version"
# cd /usr/src ; pwd
# ls -la
- ドライバのインストール
Broadcomのサイトからドライバをダウンロード
http://ja.broadcom.com/support/ethernet_nic/driver-sla.php?driver=570x-Linux# pwd
# ls -la
# unzip linux-3.92e.zip
# ls -la# cd ./Server/Linux/Driver ; pwd
# ls -la
# tar vxzf tg3-3.92e.tar.gz
# ls -la
# cd tg3-3.92e
# ls -la
# make
- ドライバをバックアップ
# cd /lib/modules/"Kernel Version"/kernel/drivers/net ; pwd
# ls -la
# cp -ip tg3.ko tg3.ko.bak
# ls -la
# cd - ; pwd
- インストール
# make install
# cd /lib/modules/"Kernel Version"/kernel/drivers/net ; pwd
# ls -la
- コンソールにてドライバを読み込み正常に認識するか確認
# cd /lib/modules/"Kernel Version"/kernel/drivers/net ; pwd
# ls -la
# lsmod | grep tg3
# rmmod tg3
# insmod tg3.ko
# lsmod | grep tg3
# modinfo tg3
- カーネルイメージの作成
# cd /usr/src/ ; pwd
# ls -la
# mkdir initrd-tg3
# ls -la
# cp -ip /boot/initrd.img-"Kernel Version" ./
# ls -la# cd /boot/ ; pwd
# ls -la
# cp -ip initrd.img-"Kernel Version" initrd.img-"Kernel Version"-make.img
# gzip -dc < initrd.img-"Kernel Version" initrd.img-"Kernel Version"-make.img \
> initrd.img-"Kernel Version"-tg3
# ls -la
# cd /usr/src/initrd-tg3/ ; pwd
# ls -la
# cpio -i --file=/boot/initrd.img-"Kernel Version"-tg3
# ls -la
- 新しいドライバを作成するイメージに上書き
# ls -la
# find ./ -name tg3*
# cp -ip /lib/modules/"Kernel Version"/kernel/drivers/net/tg3.ko \
./lib/modules/"Kernel Version"/kernel/drivers/net/tg3.ko
# ls -la ./lib/modules/"Kernel Version"/kernel/drivers/net/
# find . | cpio -o --file=/boot/initrd.img-"Kernel Version"-tg3 --format=newc# cd /boot/ ; pwd
# ls -la
# gzip -c9 initrd.img-"Kernel Version"-tg3 > initrd.img-"Kernel Version"-tg3-foo
# file /boot/initrd.img-"Kernel Version"-tg3-foo
# mv -i /boot/initrd.img-"Kernel Version"-tg3-foo /boot/initrd.img-"Kernel Version"-tg3
- GRUBの更新
# cd /boot/grub/ ; pwd
# ls -la
# cp -ip menu.lst menu.lst.bak
# ls -la
# vi menu.list
- titleとinitrdを作成したイメージと合わせる
title Debian GNU/Linux, kernel "Kernel Version"-tg3
initrd /boot/initrd.img-"Kernel Version"-tg3
# diff -C0 menu.list.bak menu.list
- リブートし、作成したカーネルで起動するか確認
# reboot
新しい tg3.ko が読み込まれているか確認
# ifconfig -a | grep ienet -w
# lsmod | grep tg3
# modinfo tg3
新しいtg3のドライバが読み込まれていれば、自動的にrulesに "eth1" が追加されているので
本来正しい状態に修正する( "eth0" と "eth1" を逆にする)
# cp -ip /etc/udev/rules.d/z25_persistent-net.rules \
/etc/udev/rules.d/.z25_persistent-net.rules
# vi /etc/udev/rules.d/z25_persistent-net.rules
NAME="eth[0-1]" をしかるべく修正
# diff -C0 /etc/udev/rules.d/.z25_persistent-net.rules \
/etc/udev/rules.d/z25_persistent-net.rules
再起動後、イーサケーブルをしかるべく差し替えネットワークの疎通確認
# ifconfig -a | grep inet -w
# w
# reboot
- ネットワークの疎通を確認
# ifconfig -a | grep inet -w
# uname -a
# ping hogehoge.com