Как создать наложения на дерево устройств с помощью 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

Как я могу это исправить? Это должно быть возможно без прав root, верно?

Как будет выглядеть стандартный Makefile для создания dt-оверлеев с использованием DKMS?

Изменить: я думаю, что я решил проблему, см. Ниже. Тем не менее, квалифицированный ответ все равно будет приветствоваться.

1 ответ

Решение
  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
Другие вопросы по тегам