Yocto 配方中的 Echo 语句未打印到终端

tan*_*ect 2 bitbake yocto

我正在尝试do_compile_append通过打印消息来调试 Yocto 配方中的函数:

do_compile_append() {
    for i in 1 2 3 4 5
    do
        echo "My yocto Looping ... number $i"
    done
}
Run Code Online (Sandbox Code Playgroud)

在此示例中,我添加了一个循环来在构建期间回显一些消息。但是,当我运行bitbake构建它时,我没有看到这些消息输出到我的终端。

输出记录在哪里?

ogs*_*ogs 6

Bitbake 提供了在 Shell 脚本代码中使用的日志记录功能。

您可以查看poky/plain/meta/classes/logging.bbclass许多食谱默认继承的内容。

功能有:bbplain, bbnote, bbwarn, bberror, bbfatal,bbdebug

因此,您可以bbdebug "My yocto Looping ... number $i"在终端中打印输出。


Mic*_*ied 5

要查看您自己的调试,请执行以下操作:

1

将以下指令添加到您的配方文件中

inherit logging
Run Code Online (Sandbox Code Playgroud)

2

在任何函数中,使用以下命令打印调试(在黄色警告颜色下)。您可以使用 来引用 shell 中定义的环境变量${VARIABLE-ID}

do_compile_append(){
    bbwarn "Hello, this is a debug message from ${USER}"
}
Run Code Online (Sandbox Code Playgroud)