我正在尝试使用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
我该如何解决?没有root权限应该可以,对吧?
使用DKMS构建dt叠加层的标准 Makefile如何?
编辑:我想我已经解决了这个问题,请参阅下文。但是,仍然欢迎合格的答案。
答案 0 :(得分:0)
将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