簡體   English   中英

Yocto bitbake 腳本不顯示 echo 語句

[英]Yocto bitbake script not displaying echo statement

我目前有一個看起來像這樣的 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 -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

為了更快(並且有些嘈雜)調試,您還可以在 shell 任務中使用 bbnote/bbwarn。 對於 python 任務,有 bb.note/bb.warn。

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

關於執行哪些任務的更多可讀性來自通過管道 bitbake 通過某些東西,所以它知道不要使用花哨的屏幕更新:

bitbake $recipe | cat

這為您提供了一個很好的連續任務流,中間有 bbnote/bbwarn。

你可以像下面那樣做( 完整源代碼

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

如果確定do_install已被調用,請提供您的輸出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM