-
Notifications
You must be signed in to change notification settings - Fork 14
Description
Describe the bug
raspberrypi-kernel-headers deb package is missing scripts/dtc/include-prefixes
for building dtbo overlays, it should contain symbolic links just like in the linux kernel tree https://github.com/raspberrypi/linux/tree/rpi-6.1.y/scripts/dtc/include-prefixes
Without it, compiling .dtbo files of out of tree kernel module fails, as it can't find the include files.
To reproduce
sudo apt install raspberrypi-kernel-headers
git clone https://github.com/blokaslabs/pisound.git
cd pisound/pisound-module
make
...
DTCO /home/patch/work/pisound/pisound-module/pisound.dtbo
/home/patch/work/pisound/pisound-module/pisound-overlay.dts:23:10: fatal error: dt-bindings/gpio/gpio.h: No such file or directory
23 | #include <dt-bindings/gpio/gpio.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [scripts/Makefile.lib:428: /home/patch/work/pisound/pisound-module/pisound.dtbo] Error 1
...
Expected behaviour
The .dtbo files should compile, here's a local workaround for dt-bindings:
sudo mkdir /usr/src/linux-headers-6.1.21-v7l+/scripts/dtc/include-prefixes
sudo ln -s ../../../include/dt-bindings /usr/src/linux-headers-6.1.21-v7l+/scripts/dtc/include-prefixes/dt-bindings
make
Then it builds just fine.
Getting the kernel source code through other methods (like the convenient but unfortunately deprecated rpi-source
) didn't have such issue.
The raspberrypi-kernel-headers deb package should be fixed to not lose the essential include-prefixes
directory, so out of tree kernel modules, containing device tree overlays, compile successfully without manual fixes to kernel sources.