【问题标题】:Yocto bitbake script not displaying echo statementYocto bitbake 脚本不显示回显语句
【发布时间】:2016-07-13 14:47:11
【问题描述】:

我目前有一个如下所示的 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

标签: linux yocto recipe bitbake


【解决方案1】:

您可以使用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

【讨论】:

    【解决方案2】:

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

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

    关于哪些任务已执行的更多可读性来自于管道 bitbake,因此它知道不使用花哨的屏幕更新:

    bitbake $recipe | cat

    这为您提供了一个很好的顺序任务流,中间有 bbnote/bbwarn。

    【讨论】:

      【解决方案3】:

      你可以像下面那样做 (full source)

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-13
        • 1970-01-01
        • 1970-01-01
        • 2011-12-30
        • 2011-06-08
        相关资源
        最近更新 更多