如何让 DKMS 通过正确的 ARCH 来“制作”?

Yur*_*ges 4 linux makefile compilation dkms

我正在尝试使用 DKMS 来构建模块。我的问题是我似乎无法让 DKMS 通过正确的 ARCH 来“制作”。它一直使用我的操作系统内核的架构,即 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 也没有区别。

须藤 dkms build -m ${DRV_NAME} -v ${DRV_VERSION} -k 4.4.21-v7+/arm

该内核不需要内核准备。跳过...

构建模块:
清理构建区域....
'make'....(错误退出状态:2)
错误!内核构建模块的错误返回状态:4.4.21-v7+ (arm)
有关详细信息,请参阅 /var/lib/dkms/rtl8812AU/4.3.14/build/make.log。

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] ]:没有规则可以制作目标'arch/armv7l/Makefile'。停止。
make[1]: 离开目录 '/usr/src/linux'
Makefile:1576: 目标 'modules' 的配方失败
make: [modules] 错误 2

如何解决这个问题?
已经谢谢了

May*_*sch 5

我通过符号链接 arm 目录在带有 Ubuntu Mate (16.04) 的 Raspberry Pi 2 上解决了这个问题:

sudo ln -s arm armv7l
Run Code Online (Sandbox Code Playgroud)

肮脏的黑客,但它有效:)