2013-07-22 24 views
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个?

回答

0

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

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

enter image description here