【背景】
最近需要部署一个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/bash if [ ! -c /dev/input/alx.ko ] ; then exec /sbin/modprobe alx >/dev/null 2>&1 fi
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-eth0 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=none IPADDR=192.168.1.20 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=192.168.1.2 IPV6INIT=no USERCTL=no
【结束】
到此,自己编译网卡驱动的过程就结束了,重启一下网络服务器即可,如果有其他问题,欢迎大家一起探讨,以上是自己第一次遇到这种状况,同时,也感谢网上其他的分享解决方法的伙伴们。