检查openembedded构建期间的整体进度

时间:2013-07-22 16:31:55

标签: linux build embedded openembedded bitbake

当我通过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总数?

1 个答案:

答案 0 :(得分:0)

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

在下图中,Yocto正在安装'opencv',因此它只显示那些相关的库并跳过另一个。

enter image description here