Как я могу создать реальный перемещаемый SDK с предварительно встроенной/установленной цепочкой инструментов Crosstool-NG с помощью buildroot в контейнере docker?

#embedded-linux #buildroot #toolchain #crosstool-ng

Вопрос:

Установка:

  • Хост : Контейнер докера Ubuntu 20.04
  • Путь к рабочему пространству : /workspace
  • Внешняя цепочка инструментов : Предварительно собрана и установлена на /workspace/crosstool_ng/arm-**
  • Строительная система : BuildRoom по адресу /workspace/buildroot
  • Вывод данных для сборки : /workspace/buildroot/images/*

С помощью вышеуказанной настройки я пытаюсь создать BSP( make ) и SDK( make sdk ) в моем контейнере docker. Все идет хорошо,

но make sdk генерирует файловый файл, содержащий sysroot и цепочку инструментов, и эта цепочка инструментов все еще указывает символическую ссылку для исправления/абсолютного пути, с которого начинается docker /workspace/** conainer .

Если я возьму этот архив и перейду на хост или любой другой компьютер, то он не будет работать. У нас есть этот relocate_sdk.sh сценарий, но это мне тоже не помогает.

Обходной путь: Если я сохраню свой SDK непосредственно на хосте, то этот путь исправления будет по-прежнему там, поэтому он работает, но я этого не хочу.Мне нужен перемещаемый sdk, который я могу предоставить любому.

Может ли кто-нибудь помочь мне в этом вопросе (особенно он должен быть построен в docker)