2013-07-22 3 views
2

Когда я запускаю сборку через Openembedded (OE), она может быть довольно быстрой для восстановления, или это может занять очень много времени, когда она выполняет полную сборку. Поскольку каждый шаг бывает, что есть постоянная «подача» показания состояния в командной строке, например:Проверка общего прогресса во время сборки с открытым кодом

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

, который является большим, но было бы приятно знать, что общий прогресс. Есть ли способ узнать общее количество компонентов, необходимых для сборки, или общее количество задач, которые еще предстоит выполнить? В идеале я хотел бы, чтобы обернуть сборки в скрипте, чтобы обеспечить своего рода:

task 35 of 210... 

типа сообщения, чтобы дать некоторое чувство завершенности.


Update:
Таким образом, очевидно, если я делаю всухую:

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' в свой файл изображения, тогда устанавливаются только те библиотеки и зависимости. В Йокто есть почти 8000 рецептов. Каждый рецепт и библиотека имеют номер задачи (id). Когда вы запускаете только некоторые рецепты, он будет устанавливать их, а затем пропускает другой. Вы можете добавить все рецепты, и он покажет непрерывный ход того, что он устанавливает, настраивает или выбирает.

На следующем изображении Yocto устанавливает «opencv», поэтому он отображает только связанные библиотеки и пропускает другую.

enter image description here