【问题标题】:Yocto - adding out of tree kernel moduleYocto - 添加树内核模块
【发布时间】:2021-10-07 08:35:47
【问题描述】:

我想在我的 Yocto 项目中添加一个 wifi out-of-tree 内核模块。我在 Open Embedded Layer Index 上找到了一个带有我需要的驱动程序的层 (https://layers.openembedded.org/layerindex/branch/master/layer/meta-rtlwifi/)。我无法构建映像,因为我从bitbake 收到以下错误:

安装:无法统计 'build/tmp/work//rtl8821cu/5.8.1.2-git-r0/git/8821cu.ko':否 此类文件或目录警告:从 shell 命令退出代码 1。

这个文件应该是由 Makefile 创建的,但是make 没有生成错误。 驱动的配方如下:

SUMMARY = "RTL8821CU kernel driver (wifi)"
DESCRIPTION = "RTL8821CU kernel driver"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"

SRCREV = "2dace83e5f4cada52bbe3930b864c3eb82390b1f"
SRC_URI = "git://github.com/spriteguard/rtl8821CU;protocol=https "

S = "${WORKDIR}/git"

PV = "5.8.1.2-git"

DEPENDS = "virtual/kernel"

inherit module

#This is the only line added by me to this recipe because sh wasn't able to find `bc`
EXTRA_OEMAKE += "-I${S}/usr/bin' " 
EXTRA_OEMAKE += "ARCH=${ARCH}"
EXTRA_OEMAKE += "KSRC=${STAGING_KERNEL_BUILDDIR}"

MODULES_INSTALL_TARGET="install"

do_install () {
    install -d ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless
    install -m 0644 ${B}/8821cu.ko ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless/rtl8821cu.ko
}

FILES_${PN} += "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless/rtl8821cu.ko"
RPROVIDES_${PN} += "kernel-module-${PN}-${KERNEL_VERSION}"

我已尝试添加以下任务:

do_compile () {
    oe_runmake
}

但它什么也没改变。我需要在这个配方中添加一行:EXTRA_OEMAKE += "-I${S}/usr/bin' ",因为sh 找不到bc。也许bitbake 没有再看到一个文件/库?

当我在我的 PC 上克隆 repo 并运行 make 时,创建了 *.ko 文件。在创建此模块时,Yocto 会出现什么问题?我使用官方层和配方,所以我想它应该可以工作。

【问题讨论】:

  • 您应该查看run.do_compile 和log.do_compile 日志文件并尝试找出构建既没有失败也没有生成模块的原因。

标签: linux linux-device-driver yocto kernel-module bitbake


【解决方案1】:

您必须更换 SRCREV。因为据我所知,上述配方的 SRCREV 使用的是旧版本。您可以检查“git log”并选择最新的提交。 我成功使用了master分支和bitbake。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    • 2021-09-06
    • 2020-03-16
    • 2021-10-20
    • 1970-01-01
    • 2017-06-21
    相关资源
    最近更新 更多