当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 手动编译安装Linux网卡驱动

Unix/Linux
Linux 备份 恢复方法
Linux玩CS反恐精英的方法
在一个ISO镜像中集成多个不同的linux发行版,可刻盘,可引导
Linux 快捷键使用
Linux DHCP 服务器配置方法介绍
Linux 22端口的修改方法
Linux 记录会话过程的命令
Linux 后台执行程序如何操作?
linux Wget命令来浏览网页的方法
Linux tail命令的巧妙应用
Wine 中文存在很多的乱码怎么解决方法
linux 新手教程之创建锁文件的方法
配置Linux 保证其系统的安全
Linux DHCP协议实现过程
Linux系统下破解SAM密码
linux/unix vi 编辑器用法详解
Linux 误删文件的解决方法
Linux系统下的历史记录删除方法
Red Hat Linux 安全设置指南
Linux基本命令-注销、关机、重启

Unix/Linux 中的 手动编译安装Linux网卡驱动


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-15   浏览: 38 ::
收藏到网摘: n/a

以D-Link530的网卡进行模块的编译.

由于Linux的默认内核已经建立很多网卡驱动程序模块,所以在编译网卡模块之前就要确认网卡芯片是否被支持,如果被支持,就不需要编译模块.

D-Link530的网卡的芯片组是有名的via-rhine(有时也写成viarhine),先找找有没有这块网卡的模块,如果有,你的网卡已经被支持,可以跳过编译过程,直接进行模块的加载.


1.先查看内核版本,因为不同版本的模块放置的路径不同
uname -r

2.内核模块的路径

cd /lib/modules/`uname -r`/kennel/drivers/net

以上为2.4版的路径

cd /lib/modules/`uname -r`/net

以上为2.2版的路径

3.查询模块

ls -l via*

如果自己不知道网卡被Linux检测到,可以用以下方法来测试:

dmesg | grep eth

如果检测到,就不需要编译内核模块.万一检测不到,就必须进行编译工作了.

1.下载网卡驱动程序模块.

2.确定存在所需要的包:由于驱动程序需要配合内核来编译,就会用到kernel source或kernel header的数据,此外也需要编译器的帮助,先确定Linux中是否已经存在下面的包(以Red Hat 9为例):

kernel-source-2.4.20-18.9
kernel-2.4.20-18.9
gcc-3.2.2-5
make-3.79.1-17

如果没有以上的包,就要拿出光盘,将他们安装到Linux中.

注意:由于很多内核模块默认都是由/usr/src/linux这个kernel source的目录来取得所需信息,但偏偏目前很多的Linux都是使用/usr/src/linux-2.4这个目录来链接,所以很多时候就会发现找不到文件的错误信息. 因此,可以使用下面的方式来链接目录:

cd /usr/src
ln -s linux-2.4.20-18.9 linux

3.编译下载的模块

下载完整的驱动程序源代码,如文件名为:dlkfet-4.24.tar.gz
1.将取得的文件放置到/tmp下,并解压文件
cp dlkfet-4.24.tar.gz /tmp
cd tmp
tar -zxvf dlkfet-4.24.tar.gz
cd dlkfet-4.24

2.开始编译

make

会产生一个文件模块:rhinefet.o,将它移动到模块放置的目录后,执行depmod -a即可.

cp rhinefet.o /lib/modules/`uname -r`/kennel/drivers/net
depmod -a

4.模块测试

内核模块编译完成后,就要测试能否正常运行,因为我们已经运行depmod -a,所以直接以modprobe进行模块的加载.

1.加载模块测试

modprobe rhinefet.o

注意,不要写完整的名称,.o不需要写.rhinefet就是刚刚编译出来的rhinefet.o.

lsmod

2.设置开机加载摸块

就是编辑/etc/modules.conf
vi /etc/modules.conf

在文件中加入下面一行:

alias eth0 rhinefet

3.重新启动,看是否正常启动模块

sync;sync;reboot

上面我们使用的是rhinefet模块,如果不是这个名称,就请依你的实际情况来修改.接下来就是测试这个网卡是否正常工作.