【发布时间】:2020-09-30 08:27:45
【问题描述】:
我正在尝试将 json 添加到设备上的 /etc。 已阅读许多 SO 答案并没有找到解决方案。 新的 json 名为 audio_config.json,它位于 files/ 与 .bbappend 相同的目录下。之所以使用 append,是因为只有一个设备型号需要此文件,而主要配方适用于多个型号。
这样做:
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRC_URI += "file://audio_config.json"
do_install_append() {
install -d ${D}${sysconfdir}
install -m 644 ${B}/audio_config.json ${D}${sysconfdir}
}
得到一个错误,指出 json 不在工作目录中。 如果我使用 ${WORKDIR} 而不是 ${B},也会发生同样的事情。 此树中的其他配方遵循相同的模型,不确定问题出在哪里。
如果我使用 ${THISDIR} 那么它说 json 不在基本配方目录中 - 它不应该是。
来自我尝试过的 SO 帖子
FILES_${PN}-audio_config.json = "${sysconfdir}/audio_config.json"
但这似乎没有效果。
TIA!
【问题讨论】:
-
是
xraudio_config.json还是audio_config.json?因为你的安装似乎是install -m 644 ${B}/xraudio_config.json ${D}${sysconfdir}。 -
抱歉打错了,我已经更正了。
-
如果
audio_config.json位于${RECIPE_APPEND_DIR}/files/audio_config.json,应该可以找到,然后install -m 644 ${WORKDIR}/audio_config.json ${D}${sysconfdir}应该可以做 -
您是否尝试使用 bbdebug 调试验证 SRC_URI 和 FILESEXTRAPATHS ?您还可以使用 devshell 任务来确保文件存在于工作路径中?