Yocto bitbake脚本不显示echo语句

时间:2016-03-25 19:39:48

标签: linux yocto recipe bitbake

我目前有一个看起来像这样的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”。关于为什么我没有看到这个的任何建议?

3 个答案:

答案 0 :(得分:7)

您可以使用bitbake -e myRecipe > ./myRecipe.log深入了解正在发生的事情。运行bitbake时,do_install不会echo构建之外的任何内容。

相反,它们都存储在/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

答案 1 :(得分:1)

对于更快(有些嘈杂)的调试,您还可以在shell任务中使用bbnote / bbwarn。对于python任务,有bb.note / bb.warn。

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

关于执行哪些任务的更多可读性来自通过管道进行比特烘烤,因此它知道不使用花哨的屏幕更新:

bitbake $recipe | cat -

这为您提供了一个很好的连续任务流,其中包含bbnote / bbwarn。

答案 2 :(得分:0)

您可以像下面(full source)一样进行操作

do_install() {
    bbplain "--------HELLO WORLD------------------------"
    printf "%b\0" "bbplain --------HELLO WORLD------------------------" > ${LOGFIFO}
}