将wilc3000驱动程序添加到Yocto树莓派

时间:2020-09-24 07:24:57

标签: linux linux-kernel yocto microchip meta-raspberrypi

我想为覆盆子(cm3)构建自己的yocto图像。我使用meta-raspberry(dunfell)层和poky dunfell-23.0.0。

要安装微芯片wilc3000模块,我必须按照此guide修改内核。这样,我更改了内核conf(Kconfig),以在菜单中添加mchp驱动程序,然后选择它。

我已经使用此guide(基于补丁的工作流程)为内核生成了补丁。生成补丁后,我已经修改并生成了一个新的内核配置(defconfig)。所有更改均通过此配方(linux-raspberrypi _%。bbappend)在我自己的层中应用:

FILESEXTRAPATHS_prepend := "${THISDIR}/patchs:"

SRC_URI += "file://0001-Add-wilc3000-driver.patch \
            file://defconfig_my \
            "
PACKAGE_ARCH = "${MACHINE_ARCH}"

# PR="r2"

INTREE_DEFCONFIG_pn-linux-ti = "defconfig_my"

kmoddir = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless/mchp"

# do_configure_append() {
#     cat ${WORKDIR}/*.cfg >> ${B}/.config
# }

do_install_append() {
  install -d ${D}${kmoddir}
  install -m 0755 ${WORKDIR}/wilc-spi.ko ${D}${kmoddir}
}


FILES_${PN}_append += " \
  ${kmoddir}/wilc-spi.ko \
"

patchs 文件夹包含内核的补丁和生成的新内核配置

当我生成图像时:

bitbake -v core-image-base

尝试复制未生成的wilc-spi.ko时,在 do_install 任务中生成失败。

用我自己的配置编译和部署内核的方法是哪种?如果我在单独的文件夹中下载并编译内核,它将成功生成wilc-spi.ko,但在yocto的 build 文件夹中没有文件生成的踪迹。

请帮助我将此驱动程序添加到内核,非常感谢。

1 个答案:

答案 0 :(得分:0)

正如@qschulz所指出的,解决方案是将 defconfig_my 更改为 defconfig ,并删除所有多余的代码。最后,代码如下所示:

FILESEXTRAPATHS_prepend := "${THISDIR}/patchs:"

SRC_URI += "file://0001-Add-wilc3000-driver.patch \
            file://defconfig \
            "
PACKAGE_ARCH = "${MACHINE_ARCH}"

PR="r3"
    
FILES_${PN}_append += " \
  ${kmoddir}/wilc-spi.ko \
"

KERNEL_MODULE_AUTOLOAD += "wilc-spi.ko"

并在 layer.conf 中添加说明以加载模块:

MACHINE_EXTRA_RDEPENDS += " kernel-module-wilc-spi "
相关问题