【背景】
最近需要部署一個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
【結束】
到此,自己編譯網卡驅動的過程就結束了,重啓一下網絡服務器即可,如果有其他問題,歡迎大家一起探討,以上是自己第一次遇到這種狀況,同時,也感謝網上其他的分享解決方法的夥伴們。