2

当我通过 Openembedded(OE) 运行构建时,重建可能会非常快,或者在进行完整构建时可能需要很长时间。随着每一步的发生,命令行上都会不断“输入”状态指示,例如:

NOTE: recipe xxxx: task do_fetch: Started
NOTE: recipe xxxx: task do_fetch: Succeeded

这很好,但很高兴知道整体进展。有没有办法知道需要构建的组件总数,或尚未运行的任务总数?理想情况下,我想将构建包装在一个脚本中以提供一种:

task 35 of 210...

键入消息以提供一些完成感。


更新:
显然,如果我进行试运行:

bitbake -n <command name> > ~/somefile.txt

我可以捕获输出并或多或少地查看正在运行的内容:

NOTE: Preparing runqueue 
NOTE: Executing SetScene Tasks 
NOTE: Executing RunQueue Tasks 
NOTE: Running task 217 of 314 (ID: 7, /home/mike/oe-head/.../foo.bb, do_compile) 
NOTE: Running task 309 of 314 (ID: 3, /home/mike/oe-head/.../foo.bb, do_install) 
...

所以这是朝着正确的方向发展,但是它跳过了很多任务(0-216、218-308),那么我在哪里可以找到那些中间任务,它是如何知道总共 314 个任务的呢?

4

1 回答 1

0

我正在使用 Yocto 项目,这取决于您要在图像上安装的内容。例如,如果将 'opencv' 'gstreamer' 'libeigen' 添加到图像文件中,则只会安装这些库和依赖项。Yocto 中有近 8000 种食谱。每个配方和库都有一个任务编号 (id)。当你只运行一些食谱时,它会安装那些然后跳过另一个。您可以添加所有配方,它将显示正在安装、配置或获取的内容的持续进度。

在下图中,Yocto 正在安装“opencv”,因此它只显示那些相关的库并跳过其他的。

在此处输入图像描述

于 2013-10-29T09:42:03.543 回答