Использование предварительно созданной цепочки инструментов в Yocto Tree

Есть ли способ настроить Yocto для использования предварительно созданной цепочки инструментов (например, загруженной из CodeSourcery и т. д.). Я хочу избежать создания цепочки инструментов, потому что это занимает слишком много времени, а использование новой цепочки инструментов меня не касается.

Я использовал эту функцию в buildroot.

Заранее спасибо!!!


person Darshan Patel    schedule 13.03.2015    source источник


Ответы (1)


Конечно, хотя я не так часто им пользуюсь.

Для цепочек инструментов CodeSourcery взгляните на meta-sourcery, который представляет собой слой, добавляющий поддержку для набор инструментов CodeSourcery.

По сути, вам просто нужно добавить этот слой в BBLAYERS в вашем conf/bblayers.conf. Тем не менее, убедитесь, что вы добавили его перед метаслоем.

Тогда вам просто нужно добавить s listed before the meta layer, as this ensures meta-sourcery gets priority over meta. Set EXTERNAL_TOOLCHAIN = "/path/to/your/sourcery-g++-install" к вашему conf/local.conf.

Обязательно ознакомьтесь с README.md в мета-источниках, так как есть некоторые дополнительные сведения, о которых вам, возможно, следует знать. (В зависимости от конфигурации вашей сборочной машины и т. д.).

person Anders    schedule 26.03.2015
comment
Это для CodeSourcery. Есть ли способ сделать это в свободном масштабе или общим способом? например, я построил yocto для IMX6, и в качестве вывода у меня есть tar-шар toolchain. Я хочу использовать ту же цепочку инструментов при ее новой сборке на другом ПК. - person Darshan Patel; 27.03.2015
comment
Ну, вы упомянули CodeSourcery... Если это для сборки с использованием bitbake и т. Д. На втором компьютере, я бы рекомендовал разделить sstate-cache между двумя компьютерами. - person Anders; 27.03.2015
comment
Здравствуйте @Anders, я пытаюсь включить внешнюю предварительно созданную цепочку инструментов Sourcery в yocto, как описано выше, но я сталкиваюсь с ошибками и надеюсь, что вы можете помочь. Poky-fido-13.0.0 — мой дистрибутив. Я клонировал слой мета-источников, как указано выше, и следовал указаниям в Readme.md, чтобы указать его в качестве первого слоя в bblayers.conf. Также установите EXTERNAL_TOOLCHAIN ​​в моем local.conf. - person pio; 18.05.2015
comment
(продолжение) Но я получаю эту ошибку `Но я получаю эту ошибку {{{ ОШИБКА: ExpansionError во время синтаксического анализа /home/exacqu/meta-sourcery/recipes-external/glibc/glibc-external.bb: Ошибка расширения переменной PV[ :=], выражение было ${@get_external_libc_version(d)}, что вызвало исключение TypeError: объект 'NoneType' не имеет атрибута 'getitem' }}} Приветствуются любые идеи по руководству - person pio; 18.05.2015
comment
Сразу ничего. Какие src-revs вы используете (как poky, так и meta-sourcery?) Какую версию набора инструментов? На данный момент у меня нет настройки системы для этого, поэтому может пройти некоторое время, прежде чем я смогу что-то проверить самостоятельно. - person Anders; 19.05.2015
comment
Извинения @Anders Я решил первую ошибку, которую я упомянул выше как (смущающий) ошибочный путь к инструментальной цепочке. Спасибо за предложение помощи! Теперь мне нужно выяснить, почему шаг do_package не может найти мой arm-none-linux-gnueabi-objcopy (это цепочка инструментов arm2009q1 с исходным кодом). - person pio; 19.05.2015