May 06 2008

linux下网卡驱动的安装

Category: 技术ssmax @ 17:00:32

这两天装一台服务器,主板太另类了,在一台1u的机箱里面装了两台机器,每个都是4u的X3210,主板是X38ML,在intel首页上面都没多少介绍,找了半天才找到网卡驱动,安装debian的时候不能用网络安装,气死了,难道要下载20多张cd?最后把cd1下载回来,听说debian是按照使用频率排cd的,cd1基本需要都全了。。。

用u盘安装,grub4dos带kernel启动安装,只是装了基本的包,然后到系统里面把iso文件mount上,linux虚拟光驱太方便了一点。。。

moute -o loop -t iso9660 /path/to/iso/file /mnt/cdrom

然后用dselect来选择安装包,把kernel header啊、build之类的装上。。。就可以开始编译驱动的了。

----------------------------------------------------

一开始还不知道,去官网下载了些source来搞,其实也是可以的,该版本内核的配置在/boot/config-xxxx,复制到src/.config,然后也可以用make-kpkg来编译,以前也搞过,就是通不过。。。

cp /boot/config-2.x.y-flavour .config
make-kpkg –append-to-version “-flavour” –revision 2.x.y-z –config old configure

----------------------------------------------------

编译驱动就是按步骤来了

2. Untar/unzip archive:

     tar zxf igb-x.x.x.tar.gz

3. Change to the driver src directory:

     cd igb-x.x.x/src/

4. Compile the driver module:

     make install

   The binary will be installed as:

     /lib/modules/<KERNEL VERSION>/kernel/drivers/net/igb/igb.[k]o

   The install locations listed above are the default locations.  They
   might not be correct for certain Linux distributions. 

5. Load the module using either the insmod or modprobe command:

     modprobe igb

     insmod igb

   Note that for 2.6 kernels the insmod command can be used if the full
   path to the driver module is specified.  For example:

     insmod /lib/modules/<KERNEL VERSION>/kernel/drivers/net/igb/igb.ko

   With 2.6 based kernels also make sure that older igb drivers are
   removed from the kernel, before loading the new module:

     rmmod igb; modprobe igb

 

本来modprobe之后应该能找到eth0之类的设备了,但是这个驱动是for rehl的,debian貌似不会自己加上去,只有手动修改/etc/network/interfaces 了,

auto lo

iface lo inet loopback

auto eth1 eth2

iface eth1 inet dhcp

iface eth2 inet dhcp

 

联想的机器就是奇怪,在windows下面能看到3张网卡,linux下面貌似只有两张,是eth1和eth2,不知道eth0死哪里去了,lspci看到一堆驱动还没有装的。。。intel官网也没有就不管了。。。明天继续做性能测试。。。