我正在尝试使用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是什么样的?
编辑:我想我已经解决了这个问题,见下文。然而,一个有条件的回答仍然是受欢迎的。
-
将
my-awsome-overlay.dtbo
改为my-awsome.dtbo
。假设dts文件名为my-awsome-overlay.dts
-
添加
always := $(dtbo-y)
-
调用
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