覆盖 bbappend 文件中的 defconfig

overriding defconfig in bbappend file

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

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

会不会是您的 defconfig 文件不在您层的 ${THISDIR}/files/ 下,而是在 ${THISDIR}/files 下?

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

不同的 defconfig 文件位于

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

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

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