make 出现的错误

最近在学习linux中,一开始自己是用Ubuntu入手,Ubuntu用起来相当的方便,环境的搭建只用个sudo apt-get intsall  就OK了。但是公司装的是centos,并且作为学习来说遇到的问题越多越好,所以决定还是装个centos。当我装好centos6.2后问题就来了,我们这里用的是无线,不能联网啊。

          首要解决的问题就是上网了,作为linux菜鸟的我就开始了各种百度、google。总结如下:
         
1、下载驱动程序。
 

地址: http://www.broadcom.com/support/802.11/linux_sta.php

根据所装的系统选择就好。

2、创建安装目录以及解压。

1)创建文件目录:mkdir -m775 -p /server/hybrid/  

2)下载的文件放在/home/wangx/下载,转移文件:

3)mv  -f /home/wangx/下载/**.tar.gz  /server/hybrid/

4)解压文件:tar zxvf **.tar.gz 

3、安装:make

 但是到了这一步就出现问题了,错误如下:

make: *** /lib/modules/2.6.32-220.el6.i686/build: 没有那个文件或目录。停止。
make: *** [all] 错误 2

这就是linux的内核文件,于是我就查看文件是否存在:

cd /lib/modules/2.6.32-220.el6.i686 

ls -al 

结果如下:lrwxrwxrwx.  1 root root     44  3月  4 00:32 build -> ../../../usr/src/kernels/2.6.32-220.el6.i686
build 是一个链接文件,并且指向的地址不存在。

 我发现/usr/src/kernels/目录下面是没有内容的,对于centos来说,内核源码是放在 /usr/src/kernels 目录中;如果通过在线升级内核,也是放在这个目录中;如果您的系统中的 /usr/src/kernels/ 中没有内容,说明没有安装内核的源码包 kernel-devel 软件包;

通过在线安装的内核源码包 ,比如通过 apt+synaptic 或者yum 安装的,内核源码会被放到/usr/src/kernel 下的目录中,您要进入相对应的目录进行编译; 在这里我是通过yum安装的。
yum -y install kernel 
yum -y install kernel-devel

那么我进入到/server/hybrid/ ,make;还是提示/lib/modules/2.6.32-220.el6.i686/build: 没有那个文件或目录。停止。

说明build文件还有问题:
[root@localhost modules]# cd /lib/modules/2.6.32-220.el6.i686/
[root@localhost 2.6.32-220.el6.i686]# ls -al
drwxr-xr-x.  7 root root    4096  3月  5 06:53 .
dr-xr-xr-x.  4 root root    4096  3月  5 07:04 ..
lrwxrwxrwx.  1 root root        44  3月  4 00:32 build -> ../../../usr/src/kernels/2.6.32-220.el6.i686

[root@localhost 2.6.32-220.el6.i686]# cd /usr/src/kernels/
[root@localhost kernels]# ls
2.6.32-220.4.2.el6.i686

大概通过上面的几个命令就能看出问题了,build指向的文件名称不对,那就重新指向build的链接
cd /lib/modules/2.6.32-220.el6.i686/ 
ln -fs ../../../usr/src/kernels/2.6.32-220.4.2.el6.i686/ build

我输入cd /server/hybrid/ ; make 。但是还是提示make[1]: gcc:命令未找到。
原来是忘记安装gcc命令了yum install gcc , 安装结束后继续make ,我终于看到了胜利的希望
[root@localhost hybrid]# make
[root@localhost hybrid]# make install
install -D -m 755 wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/wl.ko

4、配置


1: 移除所有其它的BROADCOM 无线设备驱动。
 
 

除了我们已经编译好的驱动外,其它的Broadcom 802.11芯片驱动象b43, bcma和ssb。这个驱动和我们新的驱动是冲突的。所以我们要先把它们移除。

# lsmod | grep "b43\|ssb\|bcma\|wl"
 
如果以下任何一种驱动存在,移除它:
# rmmod b43
# rmmod ssb
# rmmod bcma
# rmmod wl
所这些配置加入黑名单,不让它们被使用:
# echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf
# echo "blacklist bcma" >> /etc/modprobe.d/blacklist.conf
# echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf
2、根据你的系统执行
# modprobe lib80211 
然后:
# insmod wl.ko
现在你的网络管理程序应该可以找到设备。你可以使用无线网络了。
 
注:其它总结一下,我们的过程就是把编译出来的wl.ko 放入/lib/modules/2.6.32-220.2.1.el6.i686/kernel/net/wireless目录。然后执行配置。
 

[root@localhost wireless]# pwd
/lib/modules/2.6.32-220.2.1.el6.i686/kernel/net/wireless
[root@localhost wireless]# ls
cfg80211.ko             lib80211_crypt_tkip.ko  lib80211.ko
lib80211_crypt_ccmp.ko  lib80211_crypt_wep.ko   wl.ko
注意wl.ko的权限。

[root@localhost wireless]# chmod 755 wl.ko

[root@localhost wireless]# ls -al
总用量 3544
drwxr-xr-x.  2 root root    4096  1月 21 23:23 .
drwxr-xr-x. 27 root root    4096  1月 21 22:02 ..
-rwxr--r--.  1 root root  157204 12月 23 03:51 cfg80211.ko
-rwxr--r--.  1 root root    8788 12月 23 03:51 lib80211_crypt_ccmp.ko
-rwxr--r--.  1 root root   13120 12月 23 03:51 lib80211_crypt_tkip.ko
-rwxr--r--.  1 root root    7340 12月 23 03:51 lib80211_crypt_wep.ko
-rwxr--r--.  1 root root   10588 12月 23 03:51 lib80211.ko
-rwxr-xr-x.  1 root root 3408349  1月 21 23:23 wl.ko

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值