Как создать наложения на дерево устройств с помощью 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 ответ
Решение
+ Изменить
my-awsome-overlay.dtbo
вmy-awsome.dtbo
, Предполагая, что имя файла DTSmy-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