Yocto bitbake脚本未显示echo语句

7

我目前有一个类似于以下的 bitbake .bb 脚本:

DESCRIPTION = "Hello World"
SECTION = "TESTING"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r0"

SRC_URI = "file://fileA \
           file://fileB"

S = "${WORKDIR}"

inherit allarch


do_install() {
        echo "--------HELLO WORLD------------------------"
}

现在当我进入构建目录并在这个配方上运行bitbake时,我没有在任何地方看到“Hello world”的输出。有什么建议为什么我没有看到它?

让我们尝试使用bitbake的详细模式: bitbake -v - Ziegfried
3个回答

11

你可以使用bitbake -e myRecipe > ./myRecipe.log去深入了解正在发生的事情。当你运行bitbake时,do_install不会从构建中输出任何内容。

相反,它们都存储在日志文件中,位于/build/${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}/temp

log.do_install中,你应该能够看到类似以下内容的东西:

DEBUG: Executing shell function do_install
--------HELLO WORLD------------------------
DEBUG: Shell function do_install finished

4
你可以按照下面的方法进行操作(完整源代码请参阅:full source)。
do_install() {
    bbplain "--------HELLO WORLD------------------------"
    printf "%b\0" "bbplain --------HELLO WORLD------------------------" > ${LOGFIFO}
}


3

为了更快(但有些嘈杂)地进行调试,您也可以在shell任务中使用bbnote/bbwarn。对于python任务,有bb.note/bb.warn。

请看这里:http://patchwork.openembedded.org/patch/59021/

通过将bitbake通过某些东西进行管道传输,可以获得更多关于已执行的任务的可读性,以便它知道不要使用花哨的屏幕更新:

bitbake $recipe | cat

这将为您提供一个带有bbnote/bbwarn的漂亮的顺序任务流。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接