手动编译网卡驱动实例

注意:

因为是网卡了. 所有 yum 的包是无法使用的 需要自行找各种各样的包.

出错的那个地方.是谷歌到的解决方法,其实就是程序bug.

只能说.具体情况具体对待吧. 文档仅供参考.


# GIGABYTE - 主板 - Socket 775 - GA-G41MT-D3P  
# 操作系统 CentOS 5.4 X86_64    
# 网卡型号 Atheros AR8151    
# 这该死的主板 操作系统安装后 无法识别网卡 只能手动编译安装该驱动了.    
# 这个驱动比较讨厌的就是代码可能会报错. 先看一下报错的地方  删掉就可以了.    
# 开始编译安装驱动    
# 下载驱动包 附件如下    
AR81Family-Linux-v1.0.1.9.tar.gz    
# 安装需要的包    
yum install -y kernel-devel kernel-headers kernel gcc cpp glibc-headers glibc-devel libgomp ibstdc++-devel gcc-c++    
# 上传驱动包到服务器 略    
LANG=C    
mkdir drivers    
cd drivers    
tar zxf ../AR81Family-Linux-v1.0.1.9.tar.gz    
cd AR81Family-Linux-v1.0.1.9/src    
make && make install    
# 注:    
# 如果报错 "kcompat.h: 1561: error: redefinition of 'stuct napi_struct'"    
# 执行如下    
# ****************************************    
vi kcompat.h    
# 删除如下行    
# ---------------------------------    
#if ( LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24) )    
/* NAPI API changes in 2.6.24 break everything */    
struct napi_struct {    
   /* used to look up the real NAPI polling routine */    
   int (*poll)(struct napi_struct *, int);    
   int weight;    
};    
# ---------------------------------    
   endif /* < 2.6.24 */    
# ---------------------------------    
# ****************************************    
# 编译成功后    
# 驱动位置如下    
/lib/modules/2.6.18-164.el5/kernel/drivers/net/atl1e/atl1e.ko    
# 测试驱动是否能使用    
insmod /lib/modules/2.6.18-164.el5/kernel/drivers/net/atl1e/atl1e.ko    
service network restart    
# 驱动编译完成    
# --------------------------------    
# 开始设置开机自动加载网卡驱动    
vi /etc/modprobe.conf    
# 添加如下    
alias eth0 atl1e    
# 重启操作系统来测试 如果重启后 没有正确加载驱动 执行如下命令    
cp /boot/initrd-$(uname -r).img  /boot/initrd-$(uname -r).img.bak    
mkinitrd -v -f --with=atl1e /boot/initrd-$(uname -r).img $(uname -r)    
# 重新启动操作系统即可 O(∩_∩)O谢谢

你可能感兴趣的:(网卡驱动,linux网卡驱动,手动编译网卡驱动)