如何使用DKMS构建设备树覆盖



我正在尝试使用DKMS为运行的内核(4.4)构建设备树覆盖。我的原始Makefile如下所示:

PWD := $(shell pwd)
dtbo-y += my-awsome-overlay.dtbo
targets += $(dtbo-y)
all:
        make -C /lib/modules/${kernelver}/build M=$(PWD) dtbs
clean:
        make -C /lib/modules/${kernelver}/build M=$(PWD) clean

但是,我得到以下错误:

make[1]: Entering directory '/usr/src/linux-headers-4.4.13-v7+'
/bin/sh: 1: cannot create arch/arm/boot/dts/overlays/modules.order: Permission denied

我该如何修复它?没有根权限也应该可以,对吧?

使用DKMS构建dt覆盖的标准 Makefile是什么样的?

编辑:我想我已经解决了这个问题,见下文。然而,一个有条件的回答仍然是受欢迎的。

  1. my-awsome-overlay.dtbo改为my-awsome.dtbo。假设dts文件名为my-awsome-overlay.dts

  2. 添加always := $(dtbo-y)

  3. 调用make没有目标(移除dtbs)

这是一个工作的Makefile:

PWD := $(shell pwd)
dtbo-y += my-awsome.dtbo
targets += $(dtbo-y)    
always  := $(dtbo-y)
all:
        make -C /lib/modules/${kernelver}/build M=$(PWD)
clean:
        make -C /lib/modules/${kernelver}/build M=$(PWD) clean

最新更新