首页 > 解决方案 > 覆盖 bbappend 文件中的 defconfig

问题描述

在我的芯片供应商配方中,他们定义

SRC_URI += "file://defconfig"

在我自己的层中,我想覆盖他们的 defconfig 并使用我自己的。我的配方内核层中有一个 bbappend 文件,它添加了我自己的 defconfig 文件。我的 bbappend 文件:

SECTION = "kernel"
SUMMARY = "Kernel config and device tree customization"

FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRC_URI += "file://defconfig"
SRC_URI += "file://tree_changes.diff"

正在应用 tree_changes.diff 文件,因此我的 bbappend 文件至少用于此目的。

问题是始终使用供应商 defconfig。我真的不想接触供应商的食谱,有没有更好的方法来覆盖 defconfig?

芯片供应商(Atmel/Microchip)bbfile 在这里: https ://github.com/linux4sam/meta-atmel/blob/dunfell/recipes-kernel/linux/linux-at91_5.4.bb

标签: yocto

解决方案


可能是您的 defconfig 文件不在您所在层的 ${THISDIR}/files/<machine> 下,而是在 ${THISDIR}/files 下吗?

${THISDIR}/files/<distro> 或 ${THISDIR}/files/<machine> 具有比 ${THISDIR}/files 更高的优先级。

不同的 defconfig 文件位于

  • ${THISDIR}/files/at91sam9
  • ${THISDIR}/files/sam9x60
  • ${THISDIR}/文件/sama5
  • ${THISDIR}/files/sama5d4

在供应商元层中,因此它们仍将被使用。

因此,您需要将您的 defconfig 文件移动到自定义层中的 ${THISDIR}/files/<your_machine> 中。请注意 FILESEXTRAPATHS_prepend = "${THISDIR}/files:" 在配方中保持不变。Yocto 负责扩展路径。


推荐阅读