Buildroot: установить и собрать только инструментальную цепочку

Я хочу установить и собрать только набор инструментов для моего проекта Buildroot. make help предполагает, что команда make <options> toolchain должна работать; однако выполнение этой команды просто возвращает Nothing to be done for 'toolchain'., а output/host никогда не создается.


person Alessandro Power    schedule 13.06.2017    source источник


Ответы (2)


Сначала вам нужно настроить Buildroot, чтобы указать ему, какой набор инструментов вы хотите создать. См. Краткое руководство по Buildroot в руководстве пользователя Buildroot.

Если вы только что скачали Buildroot, для создания цепочки инструментов выполните следующие действия:

  1. run make menuconfig
    • In Target options select your hardware platform and ABI
    • В Toolchain настройте нужный вам набор инструментов.
    • выйти из сохранения
  2. запустить make toolchain

Набор инструментов находится в output/host/.

person Luca Ceresoli    schedule 14.06.2017
comment
Buildroot действительно должен выдавать ошибку, когда вы пытаетесь сделать 'make toolchain' перед запуском configure, поэтому я отправил patchwork.ozlabs.org/patch/776011 - person Arnout; 15.06.2017
comment
К вашему сведению, Arnout исправил это, и теперь ненастроенный Buildroot будет печатать ошибку при запуске make toolchain вместо старого вводящего в заблуждение сообщения. Исправление будет в следующем выпуске Buildroot, 2017.08. (К вашему сведению: изменение находится в фиксации git.buildroot.net/buildroot/commit/ а>) - person Luca Ceresoli; 12.07.2017

Более свежий способ создания только цепочки инструментов, который можно использовать как внутри, так и вне Buildroot, задокументирован в Руководство по сборке.

Хотя make toolchain в ответе Луки действительно создает цепочку инструментов, он также помещает другие зависимости хоста в output/host/, что немного затрудняет получение чистой цепочки инструментов по сравнению с make sdk ниже, который создает архив цепочки инструментов в output/images/:

6.1.3. Создайте внешний набор инструментов с помощью Buildroot

Параметр внутренней цепочки инструментов Buildroot можно использовать для создания внешней цепочки инструментов. Вот серия шагов по созданию внутренней инструментальной цепочки и ее упаковке для повторного использования самим Buildroot (или другими проектами).

Создайте новую конфигурацию Buildroot со следующими данными:

  • Выберите соответствующие Целевые параметры для целевой архитектуры ЦП.
  • В меню Цепочка инструментов оставьте значение по умолчанию Цепочка инструментов сборки для Тип цепочки инструментов и настройте свою цепочку инструментов по своему усмотрению.
  • В меню Конфигурация системы выберите Нет в качестве Инициализации системы и нет в качестве / bin / sh.
  • В меню Целевые пакеты отключите BusyBox.
  • В меню Изображения файловой системы отключите tar для корневой файловой системы.

Затем мы можем запустить сборку, а также попросить Buildroot сгенерировать SDK. Это удобно сгенерирует для нас tarball, который содержит нашу инструментальную цепочку:

make sdk

Это создает архив SDK в $(O)/images с именем, похожим на arm-buildroot-linux-uclibcgnueabi_sdk-buildroot.tar.gz. Сохраните этот архив, так как теперь это набор инструментов, который вы можете повторно использовать в качестве внешнего набора инструментов в других проектах Buildroot.

person mxxk    schedule 08.03.2021