I'm working with Yocto Kirkstone. My goal is to add a dts file to the raspberry pi linux kernel. I followed this answer and ended up with a new meta-layer and this directory tree:
meta-main-layer
meta-raspberrypi
meta-mydts/
├── conf
│ └── layer.conf
├── COPYING.MIT
├── README
└── recipes-kernel
└── linux
├── linux-raspberrypi
│ └── raspberrypi4-64
│ └── my.dts
└── linux-raspberrypi_5.15.bbappend
and the linux-raspberrypi_5.15.bbappend:
SRC_URI += "file://mydts.dts;subdir=git/arch/arm/boot/dts/overlays"
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
PACKAGE_ARCH = "${MACHINE_ARCH}"
KERNEL_DEVICETREE += "mydst.dtb"
meta-main-layer
is the layer with image definition, it does include the meta-mydts
with
IMAGE_INSTALL:append += " mydts"
but for some reason yocto
complains saying that there's no target mydts
as below:
ERROR: Nothing RPROVIDES 'mydts' (but meta-main-layer/recipes-core/images/image-64.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'mydts' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['mydts']
How can a meta-layer with linux kernel patches be turned into something that is buildable? What am I missing?