![在 CentOS 8 上使用 /usr/src/kernels 中找到的源重新编译内核失败](https://linux22.com/image/163306/%E5%9C%A8%20CentOS%208%20%E4%B8%8A%E4%BD%BF%E7%94%A8%20%2Fusr%2Fsrc%2Fkernels%20%E4%B8%AD%E6%89%BE%E5%88%B0%E7%9A%84%E6%BA%90%E9%87%8D%E6%96%B0%E7%BC%96%E8%AF%91%E5%86%85%E6%A0%B8%E5%A4%B1%E8%B4%A5.png)
目标是使用 Realtek 8812au 芯片为 USB 适配器加载 WiFi 驱动程序。我已经使用我找到的源代码在驱动程序上成功运行了 make 和 make install这里。
尝试了 modprobe ,但失败并显示以下内容(在 dmesg 中看到):
Unknown symbol wireless_send_event (err 0)
谷歌搜索了一下,看来我的内核缺少一些 wifi 扩展选项。所以我想我需要重新编译我的内核。
我发现当前的内核源代码已经存在于该目录中:
/usr/src/kernels/4.18.0-80.el8.x86_64
所以我跑了
make menuconfig
并选择那些WiFi选项,然后将配置文件保存到.config,然后运行
make
失败并显示:
DESCEND objtool
/usr/src/kernels/4.18.0-80.el8.x86_64/tools/build/Makefile.build:37: /usr/src/kernels/4.18.0-80.el8.x86_64/tools/build/Build.include: No such file or directory
make[4]: *** No rule to make target '/usr/src/kernels/4.18.0-80.el8.x86_64/tools/build/Build.include'. Stop.
make[3]: *** [Makefile:43: /usr/src/kernels/4.18.0-80.el8.x86_64/tools/objtool/fixdep-in.o] Error 2
make[2]: *** [/usr/src/kernels/4.18.0-80.el8.x86_64/tools/build/Makefile.include:4: fixdep] Error 2
make[1]: *** [Makefile:63: objtool] Error 2
make: *** [Makefile:1655: tools/objtool] Error 2
构建目录存在,但其中没有 Build.include。这让我想知道我是否不应该从这个位置重新编译。
我在看这个 CentOS 维基对于获取来源尚不清楚,并且似乎阻碍了获取来源。
任何帮助将不胜感激,谢谢