I am trying to add mwifiex/mxm_wifiex wifi module to my image. Maybe I don't know how to write an external module recipe in kirkstone?
I added my firmware recipe just fine, but when I add my kernel modules, the image build fails.
I added this to local.conf:
CORE_IMAGE_EXTRA_INSTALL = "imx-firmware kernel-module-moal kernel-module-mlan"
Result:
ERROR: core-image-base-1.0-r0 do_rootfs: Could not invoke dnf. Command '/home/jklug/imx-yocto-bsp/build/tmp/work/imx6ullevk-fslc-linux-gnueabi/core-image-base/1.0-r0/recipe-sysroot-native/usr/bin/dnf -v --rpmverbosity=info -y -c /home/jklug/imx-yocto-bsp/build/tmp/work/imx6ullevk-fslc-linux-gnueabi/core-image-base/1.0-r0/rootfs/etc/dnf/dnf.conf --setopt=reposdir=/home/jklug/imx-yocto-bsp/build/tmp/work/imx6ullevk-fslc-linux-gnueabi/core-image-base/1.0-r0/rootfs/etc/yum.repos.d --installroot=/home/jklug/imx-yocto-bsp/build/tmp/work/imx6ullevk-fslc-linux-gnueabi/core-image-base/1.0-r0/rootfs --setopt=logdir=/home/jklug/imx-yocto-bsp/build/tmp/work/imx6ullevk-fslc-linux-gnueabi/core-image-base/1.0-r0/temp --repofrompath=oe-repo,/home/jklug/imx-yocto-bsp/build/tmp/work/imx6ullevk-fslc-linux-gnueabi/core-image-base/1.0-r0/oe-rootfs-repo --nogpgcheck install imx-firmware kernel-module-mlan kernel-module-moal packagegroup-base-extended packagegroup-core-boot run-postinsts locale-base-en-us locale-base-en-gb' returned 1:
DNF version: 4.11.1
cachedir: /home/jklug/imx-yocto-bsp/build/tmp/work/imx6ullevk-fslc-linux-gnueabi/core-image-base/1.0-r0/rootfs/var/cache/dnf
Added oe-repo repo from /home/jklug/imx-yocto-bsp/build/tmp/work/imx6ullevk-fslc-linux-gnueabi/core-image-base/1.0-r0/oe-rootfs-repo
User-Agent: falling back to 'libdnf': could not detect OS or basearch
repo: using cache for: oe-repo
oe-repo: using metadata from Tue 04 Apr 2023 11:35:02 PM UTC.
Last metadata expiration check: 0:00:01 ago on Tue 04 Apr 2023 11:35:02 PM UTC.
No match for argument: kernel-module-mlan
No match for argument: kernel-module-moal
Error: Unable to find a match: kernel-module-mlan kernel-module-moal
Solved! Go to Solution.
I got a little further. The directory oe-repo in the working directory for the image does not have the external kernel modules.
It appears that a command createrepo, which is an RPM related command, creates hard links for build/tmp/deploy/rpm/imx6ullevk/*.rpm files into the oe-repo directory. The kernel module rpm I need is in the deploy/rpm/imx6ullevk directory, but the hard link is not created to the oe-repo directory. But what is wrong? I think I will look into Debian packaging.