近日在Thinkpad E490笔记本电脑上物理安装了新发布的CentOS8.0.1905系统。
安装时发现CentOS8.0缺少Realtek8822be无线网卡驱动?!抱着试一试的心态,安装完系统之后,使用有线网卡连接,更新了系统,内核升级到4.18.0-80.7.1.el8_0.x86_64,还是无法使用无线网卡。
此前已经在CentOS7系统中发现此问题(CentOS7.6以及更早的版本),并附有解决方案,请点击以下链接,参考此前的文章,获取解决思路与方法:
CentOS7.6操作系统安装Realtek8822be无线网卡驱动
大约10余天前发布的CentOS Linux 7.7(1908),已经包含Realtek8822be无线网卡驱动!无须再采用此文的解决方案了。
原本以为CentOS8.0应有支持Realtek8822be的驱动,但实际缺少。参考此前的方法,于是上https://www.kernel.org,找到linux kernel 4.19.67(如有更高版本>=4.19.67可参考)。
分析之后,发现rtl8822be是在drivers\staging\rtlwifi目录下,于是复制rtlwifi目录出来,移植CentOS8.0系统中。
在CentOS8.0系统中,进行编译之前,先对Makefile补充了一些内容(如下图所示,加到原Makefile顶部)
加到原Makefile底部(如下图所示)
编译时,需要root权限,系统要安装有当前内核版本的模块、头文件等。尝试执行make,结果发现有小问题:
[root@server rtlwifi-centos8]# make
make -C /lib/modules/4.18.0-80.7.1.el8_0.x86_64/build M=/work/kernel/rtlwifi-centos8 modules
make[1]: Entering directory '/usr/src/kernels/4.18.0-80.7.1.el8_0.x86_64'
Makefile:958: *** "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel". Stop.
make[1]: Leaving directory '/usr/src/kernels/4.18.0-80.7.1.el8_0.x86_64'
make: *** [Makefile:107: all] Error 2
提示需要安装(please install libelf-dev, libelf-devel or elfutils-libelf-devel),于是挨个尝试(libelf-dev, libelf-devel),没有找到匹配项:
[root@server rtlwifi-centos8]# yum install libelf-dev
Last metadata expiration check: 0:26:30 ago on Mon 30 Sep 2019 12:09:24 AM CST.
No match for argument: libelf-dev
Error: Unable to find a match
[root@server rtlwifi-centos8]# yum install libelf-devel
Last metadata expiration