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

Unix/Linux
linux查看内存的大小
在linux下写的代码,用的是utf-8,结果拿到XP下运行的时候,所有的中文都成乱码
linux su和sudo命令的区别
linux cron 下的定时执行工具使用技巧
linux 查找进程及终止进程操作的相关命令
redhat linux 安装 gcc编译器
Linux Mplayer播放各种格式的电影
一起回顾一下linux常用命令
Linux 网站项目发布要做哪些配置
linux SSH配合SecureCRT的密匙完美使用方法
GD 编译出错解决方法
Facebook Open Platform编译FAQ
Linux 系统硬盘 优化
linux 挂载详解
linux crontab定时命令
Linux 系统中确保访问三级域名畅通的方法
Linux 特权帐号VS普通帐号
确保Linux系统安全的前提条件 漏洞防护
Linux 监视系统资源使用率
Red Hat Linux上使用BIND建立DNS服务器

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-15   浏览: 33 ::
收藏到网摘: 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模块,如果不是这个名称,就请依你的实际情况来修改.接下来就是测试这个网卡是否正常工作.