我在 2015 年初使用 Broadcom BCM43602 wifi 芯片在 Macbook Pro 上安装了 CentOS 7。我已经通过挖掘有关 wifi 设置的 CentOS 文档尝试了所有其他方法。我终于意识到一个潜在的解决方案是为brcmfmac
内核模块编译反向移植。
运行内核
Linux centos7.localdomain 3.10.0-327.13.1.el7.x86_64 #1 SMP Thu Mar 31 16:04:38 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
我做了什么
- 从https://www.kernel.org/pub/linux/kernel/projects/backports/stable/下载并解压后端口
- 阅读反向移植文档
冉
make defconfig-brcmfmac
跑
make
了,遇到了错误。
下面的命令和输出日志。
[admin@centos7 backports-4.0.1-1]$ make mrproper
CLEAN /home/admin/Documents/backports-4.0.1-1/.tmp_versions
[admin@centos7 backports-4.0.1-1]$ make defconfigs-brcmfmac
Generating local configuration database from kernel ... done.
make[1]: *** No rule to make target `defconfigs-brcmfmac'. Stop.
make: *** [defconfigs-brcmfmac] Error 2
[admin@centos7 backports-4.0.1-1]$ make defconfig-brcmfmac
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o conf.o conf.c
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o zconf.tab.o zconf.tab.c
cc conf.o zconf.tab.o -o conf
boolean symbol HWMON tested for 'm'? test forced to 'n'
boolean symbol HWMON tested for 'm'? test forced to 'n'
#
# configuration written to .config
#
[admin@centos7 backports-4.0.1-1]$ make
make[5]: `conf' is up to date.
boolean symbol HWMON tested for 'm'? test forced to 'n'
boolean symbol HWMON tested for 'm'? test forced to 'n'
#
# configuration written to .config
#
Building backport-include/backport/autoconf.h ... done.
CC [M] /home/admin/Documents/backports-4.0.1-1/compat/main.o
In file included from include/linux/rcupdate.h:43:0,
from /home/admin/Documents/backports-4.0.1-1/backport-include/linux/rcupdate.h:3,
from include/linux/srcu.h:33,
from include/linux/notifier.h:15,
from include/linux/memory_hotplug.h:6,
from include/linux/mmzone.h:824,
from include/linux/gfp.h:5,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from /home/admin/Documents/backports-4.0.1-1/backport-include/linux/module.h:3,
from /home/admin/Documents/backports-4.0.1-1/compat/main.c:1:
/home/admin/Documents/backports-4.0.1-1/backport-include/linux/completion.h:14:20: error: redefinition of ‘reinit_completion’
static inline void reinit_completion(struct completion *x)
^
In file included from /home/admin/Documents/backports-4.0.1-1/backport-include/linux/completion.h:3:0,
from include/linux/rcupdate.h:43,
from /home/admin/Documents/backports-4.0.1-1/backport-include/linux/rcupdate.h:3,
from include/linux/srcu.h:33,
from include/linux/notifier.h:15,
from include/linux/memory_hotplug.h:6,
from include/linux/mmzone.h:824,
from include/linux/gfp.h:5,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from /home/admin/Documents/backports-4.0.1-1/backport-include/linux/module.h:3,
from /home/admin/Documents/backports-4.0.1-1/compat/main.c:1:
include/linux/completion.h:86:20: note: previous definition of ‘reinit_completion’ was here
static inline void reinit_completion(struct completion *x)
^
make[6]: *** [/home/admin/Documents/backports-4.0.1-1/compat/main.o] Error 1
make[5]: *** [/home/admin/Documents/backports-4.0.1-1/compat] Error 2
make[4]: *** [_module_/home/admin/Documents/backports-4.0.1-1] Error 2
make[3]: *** [modules] Error 2
make[2]: *** [modules] Error 2
make[1]: *** [modules] Error 2
make: *** [default] Error 2
我在这里缺少什么?