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


- 新しいドライバを作成するイメージに上書き


# 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

# ls -la


- 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