Selecting a backport module to my image?

I’d like to install the backported ath9k module to my image, but appending backports-kernel-module-ath9k-[kernel-version] to the IMAGE_INSTALL variable leads to a ‘Nothing RPROVIDES…’ error.

Running oe-pkgdata-util list-pkgs "backports-kernel-module-ath9k*" gives me the package name backports-kernel-module-ath9k-4.9.84-2.8.2+gb2a7f2f just as I have it in my IMAGE_INSTALL list, and there is also an .ipk package with the same name in the deploy/ directory.

It seems that the build system is handling kernel modules somehow special: Even using kernel-module-something seems to pass the initial dependency check and only later fails when trying to install the package.

It turns out that the regular Linux kernel module recipes use PACKAGES_DYNAMIC to indicate that packages starting with the name kernel-module- are considered available. I pushed a patch to our meta-toradex-bsp-common rocko-next tree which makes sure that packages starting with backports-kernel-module- get the same treatment to the backports package. This should resolve the issue you are seeing.

Thank you for the response, and the patch.

My initial solution was to overload the backports defconfig so only the needed drivers are built, but this can be seen as a bigger question generally related to building yocto. I see that more packages are installed when I use the IMAGE_INSTALL variable, as opposed to installing ipk’s with opkg.