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

时间:2016-09-29 16:45:41

标签: linux makefile compilation dkms

我尝试使用DKMS构建模块。我的问题是,我似乎无法让DKMS通过正确的ARCH来制作'。它一直在使用我的操作系统内核的架构,即armv7l。但是没有地图
的/ usr / src / linux中/拱/ armv7l
它需要查看内部 的/ usr / src / linux中/拱/臂

我试过传递-a arm,-k 4.4.21-v7 + / arm作为' dkms build'的参数,但它并没有将其传递给' make&# 39 ;.添加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

     

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

     

建筑模块:
  清洁建筑面积....   ' 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

     

内核4.4.21-v7 +(手臂)的rtl8812AU-4.3.14的DKMS make.log
  2016年9月29日16:36:07 UTC   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]:输入目录' / usr / src / linux'
  Makefile:606:arch / armv7l / Makefile:没有这样的文件或目录
  make [1]:没有规则来制作目标' arch / armv7l / Makefile'。停止。
  make [1]:离开目录' / usr / src / linux'
  Makefile:1576:目标'模块的配方'失败
  make:[modules]错误2

如何解决这个问题? 谢谢你

2 个答案:

答案 0 :(得分:2)

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

sudo ln -s arm armv7l

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

答案 1 :(得分:0)

您可以像这样通过 -a, --arch 传递 arch:

dkms install rtl8188fu/1.0 -j 4-a arm

通过运行 man dkms 在手册页上阅读更多信息或在此处找到它:

http://manpages.ubuntu.com/manpages/bionic/man8/dkms.8.html