安装实例

linux网卡驱动程式的编译和安装
powered by KindGeorge http://kindgeorge.at.3322.org
一般来说,现在新版的 Linux 预设能够支持的网络卡芯片组数量已很完备了,很多网络卡芯片都已被支持,
例如RLT 8139 芯片 ( RealTek 8139 ) 的网络卡所以使用者能够很轻易的设定好他们的网络卡。
但是,假如万一不幸核心没有支持该网络卡的话,那么能够透过重新编译核心或编译网络卡驱动模块 ( Modules ),
并且加载该模块,今天就是这么巧,碰到一个D-Link 的DFE-530TX,没法,只有手动安装网络卡驱动程式了.
能够用命令# dmesg | grep eth
来查看系统启动信息,显示出 eth0 或 eth1 的信息,假如eth1没找到正确的信息,那就表示 Linux 无法找到该硬件,
eth0是8139的,已显示正常,例如:
[root@kindgeorge root]# dmesg | grep eth
eth0: RealTek RTL8139 Fast Ethernet at 0xf0160000, 00:0a:a6:30:0d:0e, IRQ 11
eth0: Identified 8139 chip type 'RTL-8139C'
eth0: Setting 10mbps full-duplex based on auto-negotiated partner ability 4061.

一. 查看自己系统的内核版本.
[root@kindgeorge root]# uname -r
2.4.18-3 
我这里是redhat7.3的,内核2.4.18-3
一般来说,这个内核驱动程式的模块会放在 /lib/modules/2.4.18-3/kernel/drivers/net
二.确定系统是否已安装下面包
1.由于编译需要用到内核的源代码包和编译程式gcc.所以假如没有的话,要先装.
查看:
[root@kindgeorge root]# rpm -qa|grep kernel
kernel-2.4.18-3
kernel-source-2.4.18-3
[root@kindgeorge root]# rpm -qa|grep gcc (gcc是编译用)
gcc-2.96-110
gcc-g77-2.96-110
gcc-c -2.96-110
一般装了内核源包的话,都会在出现/usr/src/linux-2.4,同路径下会有linux-2.4.18-3的文档实际目录.
2.假如没有的话,就用原来安装盘上的文档安装,会去下载个相同内核源包安装吧
rpm -ivh kernel-source-2.4.18-3.i386.rpm
......
三. 取得驱动程式和编译
1. 能够重厂家提供的光盘提供,把光盘上的linux目录下的dlkfet-4.24.tar.gz 拷贝过来用.
2. 从网上下载网络卡驱动程式,一般厂家的网站都提供下载程式的.
例如:
http://www.d-link.com.cn 上有下载.
[root@kindgeorge root]# cp dlkfet-4.24.tar.gz /usr/src
[root@kindgeorge root]# cd /usr/src/
[root@kindgeorge src]# tar -zxvf dlkfet-4.24.tar.gz
dlkfet-4.24/
dlkfet-4.24/rhine_main.c
dlkfet-4.24/Makefile
dlkfet-4.24/vmns_drv.h
dlkfet-4.24/rhine.h
dlkfet-4.24/.depend.mak
dlkfet-4.24/rhine_vmns.c
dlkfet-4.24/rhine_proc.h
dlkfet-4.24/rhine_proc.c
dlkfet-4.24/rhine_vmns.h
dlkfet-4.24/kcompat.h
dlkfet-4.24/rhine_cfg.h
dlkfet-4.24/.depend
dlkfet-4.24/rhine_wol.c
dlkfet-4.24/rhine_wol.h
dlkfet-4.24/linux.txt
3.请留意一开始是没有.o文档的. 我们编译前能够看看目录的linux.txt,是个包含介绍安装说明.在进入目录后,执行make进行编译.
[root@kindgeorge src]# cd dlkfet-4.24
[root@kindgeorge dlkfet-4.24]# make
[root@kindgeorge dlkfet-4.24]# ll (编译后查看一下)
total 320
-rw-r--r-- 1 root root 7473 Jan 15 2003 kcompat.h
-rw-r--r-- 1 root root 11491 Jan 20 2003 linux.txt
-rw-r--r-- 1 root root 5219 Dec 10 2002 Makefile
-rw-r--r-- 1 root root 1818 Jan 16 2003 rhine_cfg.h
-rw-r--r-- 1 root root 48715 May 24 18:31 rhinefet.o
-rw-r--r-- 1 root root 42044 Jan 15 2003 rhine.h
-rw-r--r-- 1 root root 78996 Jan 16 2003 rhine_main.c
-rw-r--r-- 1 root root 32760 May 24 18:31 rhine_main.o
-rw-r--r-- 1 root root 14980 Jan 15 2003 rhine_proc.c
-rw-r--r-- 1 root root 1672 Jan 15 2003 rhine_proc.h
-rw-r--r-- 1 root root 12336 May 24 18:31 rhine_proc.o
-rw-r--r-- 1 root root 9172 Jan 15 2003 rhine_vmns.c
-rw-r--r-- 1 root root 1106 Jan 15 2003 rhine_vmns.h
-rw-r--r-- 1 root root 3792 May 24 18:31 rhine_vmns.o
-rw-r--r-- 1 root root 7536 Jan 15 2003 rhine_wol.c
-rw-r--r-- 1 root root 1529 Jan 15 2003 rhine_wol.h
-rw-r--r-- 1 root root 3488 May 24 18:31 rhine_wol.o
-rw-r--r-- 1 root root 6824 Jan 15 2003 vmns_drv.h

4.经过编译后,会编译出一个rhinefet.o 文档,这个就是驱动模块,我们把他拷贝到相应地方:
[root@kindgeorge dlkfet-4.24]#cp rhinefet.o /lib/modules/2.4.18-3/kernel/drivers/net
[root@kindgeorge dlkfet-4.24]# depmod -a
5.测试
(1)能够用命令modprobe rhinefet 或 insmod rhinefet.o 加载.假如没出错信息说明ok.
(2) 用命令lsmod 能够看看是否已加载了.
[root@kindgeorge dlkfet-4.24]# lsmod
Module Size Used by Not tainted
rhinefet 38752 1
8139too 16448 1
mii 2408 0 [8139too]
这样,看到rhinefet模块已加载了,基本上,这样就证实已编译成功.

6. 让他开机时加载
[root@kindgeorge dlkfet-4.24]# vi /etc/modules.conf

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!