Я новичок ie в проекте Yocto. Я управляю несколькими проектами, для каждого из которых есть версия: разработка / отладка и полевая / индустриализация. Работая с системой сборки, я заметил повторяющийся следующий сценарий.
- Предположим, что рабочее пространство чистое, сборка fre sh.
- Запуск bitbake, минимального изображения с определенным деревом устройства linux -kernel и параметрами defconfig. Bitbake займет некоторое время, и будут созданы выходные файлы.
- Теперь измените параметры в ранее упомянутом дереве устройств и defconfig (представьте, что добавлены новые периферийные устройства). Перезапустите bitbake, выходные файлы будут созданы для этой новой компиляции.
- Теперь здесь есть хитрость. Перед компиляцией в шаге 2 сбросьте дерево устройств и defconfig файлы к настройкам. Перезапустите bitbake, и это будет почти мгновенно. Выходные файлы заменяются файлами, созданными на шаге 2.
Итак, я знаю, что это возможно из-за битбейка и использования sstate-cache, или я так полагаю. Я долго гуглил, но информация не слишком ясна. Как это работает? Есть ли какая-либо подпись, созданная во время компиляции со входами файлов конфигурации и сохраненная, связанная с компиляцией? Я обеспокоен этим, потому что мне действительно нужно верить, что то, что я отправляю в поле, является именно правильной компиляцией, а не небезопасной версией разработки.
И в связи с этим, в чем разница между запуском bitbake -c cleanall
или сложно удалить каталоги deploy и sstate-cache?
Заранее спасибо.