【问题标题】:overriding defconfig in bbappend file覆盖 bbappend 文件中的 defconfig
【发布时间】:2020-11-12 19:22:58
【问题描述】:

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

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

【问题讨论】:

  • 要覆盖配方,.bbappend 是最好的方法。如果它不起作用,还有别的东西。你能提供给我们芯片供应商的配方(原始.bb)吗?
  • 很高兴知道我至少在正确的方向上。我的 bbappend 文件还应用了肯定正在应用的设备树差异。我将芯片供应商和 lnik 添加到他们的 bb 文件中。我仍然想像他们做其他事情一样使用他们的 bb 文件...我只想使用我自己的 defconfig

标签: yocto


【解决方案1】:

会不会是您的 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 负责扩展路径。

【讨论】:

  • 要完成 Markus 的答案,因此需要将 bbappend 的 defconfig 放入 ${THISDIR}/files/<family_or_machine_youre_building>。请注意FILESEXTRAPATHS 在配方中保持不变,它将负责在对应于正在构建的系列或机器的子目录中找到它。
  • 谢谢@qschulz - 我更新了答案以使其更准确。
  • 正是如此。我把它放在 ${THISDIR}/files 中。谢谢..我还不能对此进行测试,但是当我这样做时,我会将其标记为答案。知道它在哪里说将它放在具有更高优先级的 ${THISDIR}/files/ 中吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-08
  • 2014-05-30
  • 2011-06-06
  • 1970-01-01
  • 1970-01-01
  • 2015-06-10
  • 1970-01-01
相关资源
最近更新 更多