我正在尝试将自定义内核模块(comedi)添加到我的Yocto图像中。我已经添加了这个bitbake配方:
SUMMARY = "Comedi is a collection of drivers for a variety of common data acquisition plug-in boards. The drivers are implemented as a core Linux kernel module providing common functionality and individual low-level driver modules."
LICENSE = "GPLv2"
HOMEPAGE = "http://www.comedi.org"
LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
PR = "r1"
SRC_URI = "git://github.com/Linux-Comedi/comedi.git;protocol=git"
SRCREV = "af69459809c295699593604ef95b215189b3623f"
S = "${WORKDIR}/git"
inherit module
# The Linux kernel needs to be built before comedi
DEPENDS = "linux-yocto-rt"
do_configure() {
cd ${WORKDIR}/git/
./autogen.sh
echo ""
./configure --target=${TARGET_SYS} --host=${HOST_SYS} --with-machine=${TARGET_ARCH} --with-linuxdir=${STAGING_KERNEL_BUILDDIR} --with-linuxsrcdir=${STAGING_KERNEL_DIR}
}
EXTRA_OEMAKE = "-C ${S}"
do_install() {
install -m 0755 -d ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/extra
install -m 0755 -d ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/extra/comedi
install -p -m 644 ${S}/comedi/comedi.ko ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/extra
}
FILES_${PN} = "${nonarch_base_libdir}/modules"
FILES_${PN} += "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/extra/comedi/*"
Comedi有很多内核驱动程序,但我只想尝试解决这个错误。内核对象正在构建中。但是,我在do_rootfs
步骤中收到以下错误:
Collected errors:
* calculate_dependencies_for: Cannot satisfy the following dependencies for packagegroup-core-boot:
* kernel-module-comedi *
* opkg_solver_install: Cannot install package packagegroup-core-boot.
guring kernel-module-xt-hashlimit.
解决问题的方法是什么?
答案 0 :(得分:0)
我设法通过将我的模块添加到位于KERNEL_MODULE_AUTOLOAD
的{{1}}来解决了这个问题。出于某种原因,在配方中添加layer.conf
并不起作用。