我已经从官方网站下载了驱动程序,但是在使用 dkms 时遇到问题。
我 cd 进入驱动程序目录,然后:
sudo dkms add .
哪个添加正确。
但是,当我尝试构建或安装它时,它失败了:
$ sudo dkms install rtl88x2bu/5.8.7
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area...
make -j4 KERNELRELEASE=5.4.0-52-generic KVER=5.4.0-52-generic src=/usr/src/rtl88x2bu-5.8.7...(bad exit status: 2)
ERROR (dkms apport): binary package for rtl88x2bu: 5.8.7 not found
Error! Bad return status for module build on kernel: 5.4.0-52-generic (x86_64)
Consult /var/lib/dkms/rtl88x2bu/5.8.7/build/make.log for more information.
然后我检查出了什么问题:
$ cat /var/lib/dkms/rtl88x2bu/5.8.7/build/make.log
DKMS make.log for rtl88x2bu-5.8.7 for kernel 5.4.0-52-generic (x86_64)
уто, 27. окт 2020. 12:49:04 CET
make: *** No targets. Stop.
我不明白发生了什么事。
这是我的dkms.conf
:
PACKAGE_NAME="rtl88x2bu"
PACKAGE_VERSION="5.8.7"
MAKE[0]="make KVER=$kernelver src=$source_tree/rtl88x2bu-$PACKAGE_VERSION"
CLEAN="make clean"
BUILT_MODULE_NAME[0]="88x2bu"
DEST_MODULE_LOCATION[0]="/kernel/drivers/net"
AUTOINSTALL="yes"
我尝试将all
、modules
、 等附加到MAKE[0]
,但没有成功。
我不想使用可以在 GitHub 上找到的驱动程序,因为这个驱动程序较新并且来自可信来源。
答案1
所以,我不得不加上make
单引号,这就解决了这个问题。
PACKAGE_NAME="rtl88x2bu"
PACKAGE_VERSION="5.8.7"
MAKE[0]="'make' KVER=$kernelver src=$source_tree/rtl88x2bu-$PACKAGE_VERSION"
CLEAN="'make' clean"
BUILT_MODULE_NAME[0]="88x2bu"
DEST_MODULE_LOCATION[0]="/kernel/drivers/net"
AUTOINSTALL="yes"
愚蠢的。