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