3

我正在尝试使用 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 是什么样的?

编辑:我想我已经解决了这个问题,见下文。但是,仍然欢迎合格的答案。

4

1 回答 1

1
  1. 更改my-awsome-overlay.dtbomy-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
于 2016-08-18T23:08:01.420 回答