Здесь есть набор связанных вопросов, потому что я подозреваю, что задаю неправильный вопрос. Связанные вопросы могут помочь кому-то понять, в чем заключается мое основное недоразумение.
Я проработал:
- https://www.yoctoproject.org/docs/2.6/ref-manual/ref-manual.html
- https://www.yoctoproject.org/docs/2.6/dev-manual/dev-manual.html
- https://www.yoctoproject.org/docs/2.6/sdk-manual/sdk-manual.html.
Я ищу единую среду сборки, в которой я могу использовать bitbake и создавать продукт для разных целевых архитектур.
В конце концов, похоже, что это и есть Святой Грааль Yocto / OE.
Похоже, что наиболее функциональная среда x86_64 получена из:
git clone git://git.yoctoproject.org/poky
Он более эффективен, чем SDK, но как мне создать кросс-платформу для другой платформы?
Есть ли такой же функциональный SDK, как эта git clone
'd среда? Это означает, что у него есть рабочий битовый код, и я могу создавать загрузочные образы для разных целей?
Вопросов:
Почему SDK не может создать SDK? (например, http://downloads.yoctoproject.org/releases/yocto/yocto-2.6/buildtools/)
- Why doesn't an SDK even include bitbake? (The ext SDK does, but doesn't like to add it to the path).
- Почему расширяемый SDK с правильно подобранным env (и bitbake, добавленным в путь), похоже, предпочитает инструменты сборки, установленные в дистрибутиве, а не те, что в SDK? (при прямом использовании bitmake вместо devtool)
Почему SDK явно привязан к сборке для конкретной машины или архитектуры и, по-видимому, не может выполнять кросс-сборку для разных архитектур? Процесс создания SDK даже желает, чтобы окончательная архитектура была определена заранее.
То, к чему я привык, это build-sysroot с кросс-инструментальной цепочкой, работающей под своего рода псевдо / proot / chroot с моими вмонтированными в него исходниками.
Я понимаю, что Yocto / bitbake делает это под капотом, все кеширование рецептов кажется отличным, проверка клонирования git кажется мощной, рабочий процесс devtool кажется отличным, но затем все падает, когда я пытаюсь стандартизировать генерацию этой среды или сделать это кросс-компиляция.
(Я ожидаю получить файл среды из целевого каталога, содержащего некоторые локальные файлы conf для специализации сборки, а затем использовать bitbake для создания сборки)
Что я пропустил? - спасибо, что дочитали до этого места ;-)
poky
,meta-openembedded
плюс слой производителя, то естьmeta-intel
. Затем я добавляю персональный слой для специфики дистрибутива и еще один для модификаций BSP. Если я хочу поддерживать несколько машин, я добавляю соответствующий уровень поставщика + личный уровень BSP. Я (Дженкинс Джобс) создаю только стандартный SDK для разработчиков, и они обычно работают только на одной конкретной машине. Не знаю, поможет ли это. - person Nayfe   schedule 16.03.2019