注意确保服务器的kernel-devel,kernel-headers已经安装
一,源码RPM包安装方式
[root@localhost ~]# ls
linux-7.4.27.zip Server
[root@localhost Driver]# pwd
/root/Server/Linux/Driver
[root@localhost Driver]# ll
total 55488
-r-xr-xr-x 1 root root 8253 Jan 18 00:28 INSTALL.TXT
-r-xr-xr-x 1 root root 1879945 Jan 18 00:28 netxtreme2-7.4.27-1.src.rpm
-r-xr-xr-x 1 root root 2544972 Jan 18 00:28 netxtreme2-7.4.27.tar.gz
-r-xr-xr-x 1 root root 51338302 Jan 18 00:28 netxtreme2_sup-7.4.27-1.ISO.tar.gz
-r-xr-xr-x 1 root root 7669 Jan 18 00:28 README.bnx2fc.TXT
-r-xr-xr-x 1 root root 18580 Jan 18 00:28 README.bnx2i.TXT
-r-xr-xr-x 1 root root 12413 Jan 18 00:28 README.bnx2.TXT
-r-xr-xr-x 1 root root 17927 Jan 18 00:28 README.bnx2x.TXT
-r-xr-xr-x 1 root root 42127 Jan 18 00:28 RELEASE.bnx2fc.TXT
-r-xr-xr-x 1 root root 142874 Jan 18 00:28 RELEASE.bnx2i.TXT
-r-xr-xr-x 1 root root 179143 Jan 18 00:28 RELEASE.bnx2.TXT
-r-xr-xr-x 1 root root 463481 Jan 18 00:28 RELEASE.bnx2x.TXT
-r-xr-xr-x 1 root root 4562 Jan 18 00:28 RELEASE.fclibs.TXT
[root@localhost Driver]# rpm -ivh netxtreme2-7.4.27-1.src.rpm 安装源码包
1:netxtreme2 ########################################### [100%]
[root@localhost ~]# cd /usr/src/redhat/
[root@localhost redhat]# ls
BUILD RPMS SOURCES SPECS SRPMS
[root@localhost redhat]# rpmbuild -bb SPECS/netxtreme2.spec
在源码编译结束的时候会看到如下的提示(参考,版本号不同)
Wrote: /usr/src/redhat/RPMS/i386/netxtreme2-4.8.10-1.i386.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.59603
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd netxtreme2-4.8.10
+ rm -rf /var/tmp/netxtreme2-buildroot /usr/src/redhat/BUILD/file.list.netxtreme2
+ exit 0 (如果返回值为1-255,就说明编译没有成功)
[root@localhost redhat]# rpm -ivh RPMS/i386/netxtreme2-4.8.10-1.i386.rpm 安装编译之后生成的rpm包(请根据实际产生的执行)
Preparing... ########################################### [100%]
1:netxtreme2 ########################################### [100%]
这里有一点就要注意了,装完之后你可能不知道生成的模块去了哪里,可以用以下命令来查询,
[root@localhost redhat]# rpm -ql netxtreme2 (netxtreme2 软件名,不是完整的包名)
/lib/modules/2.6.18-53.el5/updates/bnx2.ko 这下就知道模块所在的位置了,在/lib/modules/2.6.18-53.el5/updates 里边
/lib/modules/2.6.18-53.el5/updates/bnx2x.ko
/lib/modules/2.6.18-53.el5/updates/cnic.ko
/usr/share/doc/netxtreme2-4.8.10
/usr/share/doc/netxtreme2-4.8.10/LICENSE
/usr/share/doc/netxtreme2-4.8.10/README.bnx2.TXT
/usr/share/doc/netxtreme2-4.8.10/README.bnx2x.TXT
/usr/share/doc/netxtreme2-4.8.10/RELEASE.bnx2.TXT
/usr/share/doc/netxtreme2-4.8.10/RELEASE.bnx2x.TXT
/usr/share/man/man4/bnx2.4.gz
/usr/share/man/man4/bnx2x.4.gz
/usr/src/bnx2/bnx2.h
/usr/src/bnx2/cnic_drv.h
/usr/src/bnx2/cnic_if.h
[root@localhost redhat]# lsmod |grep bnx2 安装后默认没有加载该模块
[root@localhost redhat]# modprobe bnx2 手动加载,modprober命令会去搜索/lib/modules/2.6.18-53.el5下边所有的包
[root@localhost redhat]# lsmod |grep bnx2 再次查看就有了
bnx2 171400 0
附三个生成的模块的说明,这个在Broadcom的tar包解压后,里边有详细说明
- bnx2 driver for the Broadcom NetXtreme II BCM5706/BCM5708/5709/5716
10/100/1000/2500/10000 Mbps PCIX/PCIE Ethernet Network Controller.
- bnx2x driver for the Broadcom NetXtremeII BCM57710/BCM57711/BCM57711E
10/100/1000/2500/10000 Mbps PCIE Ethernet Network Controller.
- cnic driver that supports additional features required by the bnx2i iSCSI
offload driver. The bnx2i iSCSI driver is packaged separately.
-------------------------------------------------------
二,tar包安装方法
[root@localhost ~]# ls
linux-7.4.27.zip Server
[root@localhost Driver]# pwd
/root/Server/Linux/Driver
[root@localhost Driver]# tar zxvf netxtreme2-7.4.27.tar.gz 解压tar.gz包
[root@localhost Driver]# cd netxtreme2-7.4.27
[root@localhost netxtreme2-7.4.27]# ls
bnx2 bnx2-2.74.20 bnx2fc bnx2fc-2.2.17 bnx2i bnx2i-2.7.4.2b bnx2x bnx2x-1.74.22 fclibs fclibs-2.0.3 INSTALL.TXT Makefile
此时在这个地方就可以编译了,编译并安装之后会生成三个模块:
bnx2.ko,bnx2x.ko,cnic.ko
[root@localhost netxtreme2-7.4.27]# make;make install
如果只需要生成bnx2.ko(cnic.ko是附带的)这个模块,可以进入当前目录下边的子目录bnx2/src,然后执行make;make install
[root@localhost src]# pwd
/root/Server/Linux/Driver/netxtreme2-7.4.27/bnx2/src
[root@localhost src]# make && make install 编译并安装
[root@localhost src]# rmmod bnx2 && depmod && modprobe bnx2 加载模块
安装完成后查看版本号
[root@localhost ~]# modinfo bnx2
filename: /lib/modules/2.6.28.10/updates/bnx2.ko
version: 2.2.3f
license: GPL
description: Broadcom NetXtreme II BCM5706/5708/5709/5716 Driver
author: Michael Chan
srcversion: 80450159F5D7F2BDAA8A0D4
alias: pci:v000014E4d0000163Csv*sd*bc*sc*i*
alias: pci:v000014E4d0000163Bsv*sd*bc*sc*i*
alias: pci:v000014E4d0000163Asv*sd*bc*sc*i*
alias: pci:v000014E4d00001639sv*sd*bc*sc*i*
alias: pci:v000014E4d000016ACsv*sd*bc*sc*i*
alias: pci:v000014E4d000016AAsv*sd*bc*sc*i*
alias: pci:v000014E4d000016AAsv0000103Csd00003102bc*sc*i*
alias: pci:v000014E4d0000164Csv*sd*bc*sc*i*
alias: pci:v000014E4d0000164Asv*sd*bc*sc*i*
alias: pci:v000014E4d0000164Asv0000103Csd00003106bc*sc*i*
alias: pci:v000014E4d0000164Asv0000103Csd00003101bc*sc*i*
depends:
vermagic: 2.6.28.10 SMP mod_unload modversions
parm: disable_msi:Disable Message Signaled Interrupt (MSI) (int)
parm: stop_on_tx_timeout:For debugging purposes, prevent a chip reset when a tx timeout occurs (int)
[root@localhost ~]# /sbin/ethtool -i eth0
driver: bnx2
version: 2.2.3f
firmware-version: 6.2.15 bc 5.2.3 NCSI 2.0.11
bus-info: 0000:01:00.0
[root@localhost ~]# lsmod |grep bnx2
bnx2 224908 0
附:
升级固件,下载地址:
ftp://ftp.us.dell.com/network/NETW_FRMW_LX_R319248.BIN
执行权限chmod 755 NETW_FRMW_LX_R319248.BIN
./NETW_FRMW_LX_R319248.BIN
最后重启就OK