Полностью чистая сборка в проекте с Yocto
В Yocto для сборки рецептов используется bitbake
. Для полностью чистой сборки необходимо пересобрать все рецепты с нуля.
Чтобы выполнить полностью чистую сборку в Yocto, вы можете выполнить следующие шаги:
1. Удалить каталог кеша sstate
bitbake
использует кеш sstate, чтобы определить, какие рецепты необходимо пересобрать.
# Удалить каталог кеша sstate
$ rm -rf sstate-cache/
2. Удалить каталог tmp
Это выходной каталог, в этом каталоге bitbake
генерирует конечный образ.
# Удалить каталог tmp
$ rm -rf tmp/
3. Запустить команду bitbake
Теперь мы готовы начать полностью чистую сборку в Yocto.
# Запуск bitbake
$ bitbake core-image-minimal
Примечание. Создание образа займет несколько часов в зависимости от количества ядер ЦП и установленного количества параллельных потоков.
Команда cleanall
в bitbake
Команда cleanall
удаляет выходные файлы рецептов, sstate-cache и скаченные файлы. Поэтому bitbake
пересоберет рецепт с нуля
#для полной очистки рецепта
$ bitbake -fc cleanall <имя_рецепта>
Используемые флаги bitbake
:
-c CMD
– указывает задачу для выполнения (в данном случае этоcleanall
);-f
– принудительное выполнение указанной задачи.
Команда clean
в bitbake
Команда clean
удаляет выходные файлы из каталога tmp.
# очищаем выходные файлы рецепта
$ bitbake -c clean <имя_рецепта>
Оригинал статьи: