如何使 DKMS 将正确的 ARCH 传递给 'make'?
How to make DKMS pass the right ARCH to 'make'?
我正在尝试使用 DKMS 构建模块。我的问题是我似乎无法让 DKMS 将正确的 ARCH 传递给 'make'。它一直使用我的 OS 内核的架构,即 armv7l。但是没有地图
/usr/src/linux/arch/armv7l
它需要看看里面
/usr/src/linux/arch/arm
我尝试将 -a arm、-k 4.4.21-v7+/arm 作为参数传递给 'dkms build',但它没有将其传递给 'make'。将 BUILD_EXCLUSIVE_ARCH="arm" 添加到 /usr/src/rtl8812AU-4.3.14/dkms.conf 也没有区别。
sudo dkms build -m ${DRV_NAME} -v ${DRV_VERSION} -k 4.4.21-v7+/arm
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area....
'make'....(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.4.21-v7+ (arm)
Consult /var/lib/dkms/rtl8812AU/4.3.14/build/make.log for more information.
cat /var/lib/dkms/rtl8812AU/4.3.14/build/make.log
DKMS make.log for rtl8812AU-4.3.14 for kernel 4.4.21-v7+ (arm)
Thu Sep 29 16:36:07 UTC 2016
make ARCH=armv7l CROSS_COMPILE= -C /lib/modules/4.4.21-v7+/build M=/var/lib/dkms/rtl8812AU/4.3.14/build modules
make[1]: Entering directory '/usr/src/linux'
Makefile:606: arch/armv7l/Makefile: No such file or directory
make[1]: No rule to make target 'arch/armv7l/Makefile'. Stop.
make[1]: Leaving directory '/usr/src/linux'
Makefile:1576: recipe for target 'modules' failed
make: [modules] Error 2
如何解决这个问题?
已经谢谢了
我在 Raspberry Pi 2 上用 Ubuntu Mate (16.04) 通过符号链接 arm 目录解决了这个问题:
sudo ln -s arm armv7l
肮脏的 hack,但它有效:)
你可以通过 -a, --arch
像这样通过 arch:
dkms install rtl8188fu/1.0 -j 4-a arm
阅读 运行 man dkms
的手册页或在此处找到更多信息:
我正在尝试使用 DKMS 构建模块。我的问题是我似乎无法让 DKMS 将正确的 ARCH 传递给 'make'。它一直使用我的 OS 内核的架构,即 armv7l。但是没有地图
/usr/src/linux/arch/armv7l
它需要看看里面
/usr/src/linux/arch/arm
我尝试将 -a arm、-k 4.4.21-v7+/arm 作为参数传递给 'dkms build',但它没有将其传递给 'make'。将 BUILD_EXCLUSIVE_ARCH="arm" 添加到 /usr/src/rtl8812AU-4.3.14/dkms.conf 也没有区别。
sudo dkms build -m ${DRV_NAME} -v ${DRV_VERSION} -k 4.4.21-v7+/arm
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area....
'make'....(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.4.21-v7+ (arm)
Consult /var/lib/dkms/rtl8812AU/4.3.14/build/make.log for more information.cat /var/lib/dkms/rtl8812AU/4.3.14/build/make.log
DKMS make.log for rtl8812AU-4.3.14 for kernel 4.4.21-v7+ (arm)
Thu Sep 29 16:36:07 UTC 2016
make ARCH=armv7l CROSS_COMPILE= -C /lib/modules/4.4.21-v7+/build M=/var/lib/dkms/rtl8812AU/4.3.14/build modules
make[1]: Entering directory '/usr/src/linux'
Makefile:606: arch/armv7l/Makefile: No such file or directory
make[1]: No rule to make target 'arch/armv7l/Makefile'. Stop.
make[1]: Leaving directory '/usr/src/linux'
Makefile:1576: recipe for target 'modules' failed
make: [modules] Error 2
如何解决这个问题?
已经谢谢了
我在 Raspberry Pi 2 上用 Ubuntu Mate (16.04) 通过符号链接 arm 目录解决了这个问题:
sudo ln -s arm armv7l
肮脏的 hack,但它有效:)
你可以通过 -a, --arch
像这样通过 arch:
dkms install rtl8188fu/1.0 -j 4-a arm
阅读 运行 man dkms
的手册页或在此处找到更多信息: