Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Yocto 在bbappend文件中重写defconfig_Yocto - Fatal编程技术网

Yocto 在bbappend文件中重写defconfig

Yocto 在bbappend文件中重写defconfig,yocto,Yocto,在我的芯片供应商配方中,他们定义 SRC_URI += "file://defconfig" 在我自己的层中,我想覆盖他们的defconfig并使用我自己的。 我的配方内核层中有一个bbappend文件,它添加了我自己的defconfig文件。我的bbappend文件: SECTION = "kernel" SUMMARY = "Kernel config and device tree customization" FILESEX

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

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/微芯片)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负责扩展路径。

要覆盖配方,最好的方法是使用
.bbappend
。如果它不起作用,那还有别的原因。你能给我们提供芯片供应商的配方(原始的.bb)吗?好的,很高兴知道至少im的方向是正确的。我的bbappend文件还应用了一个设备树差异,该差异肯定会被应用。我将芯片供应商和lnik添加到他们的bb文件中。我仍然想像他们做其他事情一样使用他们的bb文件…我只想使用我自己的defconfig来完成Markus回答,因此需要将bbappend的defconfig放入
${THISDIR}/files/
中。请注意,
filesExtrapath
在配方中保持不变,它将负责在与正在构建的系列或机器相对应的子目录中找到它。谢谢@qschulz-我更新了答案以使其更精确。事实就是这样。我把它放在${THISDIR}/文件中。非常感谢。我还不能测试出来,但是当我测试出来的时候,我会把它标记为答案。你知道它在哪里写的吗?把它放在${THISDIR}/files/有更高的优先级?这里有描述