【背景】

    最近需要部署一个cobbler的环境,专门弄来一台pc主机,装上CentOS6.5,启动时发现:

    1、找不到/etc/sysconfig/network这个文件

    2、ifconfig -a 看不到网卡设备(除了lo)

【分析】

    这是由于这个台式机的网卡没有被识别,我们要做的是先找出这个网卡的型号,然后,下载这个网卡的驱动,然后,将这个驱动装上,问题就能被解决了。

【方案】

    1、使用下面的命令,查出这台机子的网卡型号(AR8161)

    [root@cobbler ~]# lspci | grep Ethernet

    2、到网上去下载对应的驱动(附件中会给出)

    3、将驱动放到主机上,我们可以将驱动放在U盘中,然后,将U盘挂载到系统中

【前提】

    安装驱动的时候,需要编译,所以,gcc相关的包要安装上,你可以选择将包放在U盘中,挂载后进行安装,或者是,重新装一遍,安装中,将开发包组装上(我是这么做的,解决包的依赖关系,会花费更多的时间,yum的做法是行不通的,你网卡都没有识别,怎么上网呢?)

【步骤】

 以下是解决的详细步骤

 

1、将AR8161的网卡驱动拷至当前主机,插入U盘

[root@cobbler ~]# mount  /dev/sdb4  /mnt        #我这边显示的是sdb4,大家可能不一样[root@cobbler ~]# cp  /mnt/alx-linux-v2.0.0.6.tar.gz   /usr/local

2、将驱动进行解压缩,编译

[root@cobbler ~]# cd  /usr/local[root@cobbler ~]# tar  -zxf  alx-linux-v2.0.0.6.tar.gz[root@cobbler ~]# cd  alx-linux-v2.0.0.6/src[root@cobbler ~]# make  #这一步会生成alx.ko的一个文件[root@cobbler ~]# mkdir  /lib/modules/2.6.32-358.6.2.el6.x86_64/kernel/net/wired     #为其创建一个目录

3、将我们编译生成的ko文件,拷贝至上面创建的目录中去

[root@cobbler ~]#cp  /usr/local/alx-linux-v2.0.0.6/src/alx.ko  /lib/modules/2.6.32-358.6.2.el6.x86_64/kernel/net/wired

4、将我们编译的网卡驱动中的ko文件,指定到系统中去

[root@cobbler ~]#vi /lib/modules/2.6.32-358.6.2.el6.x86_64/modules.networking alx.ko    #加入alx.ko

5、为网卡添加模块文件

[root@cobbler ~]#vi /etc/sysconfig/modules/alx.modules#!/bin/bashif [ ! -c /dev/input/alx.ko ] ; then    exec /sbin/modprobe alx >/dev/null 2>&1fi

6、最后,加载这个模块

[root@cobbler ~]#depmod -a[root@cobbler ~]#modprobe alx    #加载模块

7、为eth0这个网卡创建配置文件

[root@cobbler ~]#cd  /etc/sysconfig/network-scripts[root@cobbler ~]#cp  ifcfg-lo  ifcfg-eth0[root@cobbler ~]#vim  ifcfg-eth0DEVICE=eth0TYPE=EthernetONBOOT=yesNM_CONTROLLED=noBOOTPROTO=noneIPADDR=192.168.1.20NETMASK=255.255.255.0GATEWAY=192.168.1.1DNS1=192.168.1.2IPV6INIT=noUSERCTL=no

【结束】

    到此,自己编译网卡驱动的过程就结束了,重启一下网络服务器即可,如果有其他问题,欢迎大家一起探讨,以上是自己第一次遇到这种状况,同时,也感谢网上其他的分享解决方法的伙伴们。