OSELAS.Toolchain

20 Feb 2022
by ignat

www.pengutronix.de

 

Есть хороший сайт с дистрибутивом для сборки кросс компилятора под основные платформы. Особенно различные ARM, которые популярны на большинстве современных устройств с Android и Linux.

В текущий момент сертификаты на нём не обновлены. Будем решать эту проблему.

Готовый тулчейн

Если у вас Debian GNU/Linux то можно добавить ссылку на репозиторий Debian в источники пакетов и поставить любой готовый тулчейн который подходит для компиляции под вашу платформу:

https://debian.pengutronix.de

По выше приведенной ссылке есть все инструкции.

Сборка тулчейнка из архивных файлов

Вначале скачиваем дистрибутив.

https://www.pengutronix.de/en/software/ptxdist.html

Распаковываем в домашней директории в поддиректории local. Заходим в распакованную диеркторию,

./configure
make
sudo make install

После чего папку с дистрибутивом можно удалить, так как она уже скопирована в /usr/local.

Затем выбираем тулчейн с той же датой что и дистрибутив:

https://pengutronix.de/en/software/toolchain.html

Распаковываем в папку local в домашней директории пользователя. Заходим в директорию и вводим выбранную  конфигурацию из имеющегося подкоталога ptxconfigs:

ptxdist select <ptxconfigs>
ptxdist go

Дистрибутив сам начинает скачивать необходимые исходники и выстраивает цепочку перекомпиляции компиляторов. Возможно ваша система уведомит об устаревших сертификатов этого сайта.

Поэтому соберем все из гитхаба

Для этого вначале настроим git чтобы он не проверял сертификаты:

  • git config –global http.sslverify false
  • git clone https://git.pengutronix.de/cgit/ptxdist
  • git clone https://git.pengutronix.de/cgit/OSELAS.Toolchain

Далее заходим в поддиректории, устанавливаем дистрибутив и собираем тулчейн.

  cd ptxdist
   ./autogen.sh && ./configure && make
  sudo make install
  cd ../OSELAS.Toolchain
  ptxdist select ptxconfigs/arm-v7a-linux-gnueabi_gcc-11.1.1_clang-12.0.0_glibc-2.33_binutils-2.36.1_kernel-5.12.4-sanitized.ptxconfig
  ptxdist go

 

Чтобы нас не беспокоили сертификаты при загрузке исходников через wget или curl добавим 2 строчки в файл /usr/local/lib/ptxdist-2022-*/scripts/lib/ptxd_make_get.sh

Добавляем примерно в 22 строчку, сразу после инициализации переменных в функции ptxd_make_get_http()

opts[${#opts[@]}]=”–no-check-certificate”

curl_opts[${#curl_opts[@]}]=”–insecure”

 

Установка библиотек разработчика

Новая версия ptxdist требует для компиляции ядра Linux ряд библиотек:

apt install -y libgmp-dev libisl-dev libmpc-dev libssl-dev liblzma-dev

Возможно какие то ещё компоненты потребуются, если они не установлены на вашей системе. Следите за сообщениями скриптов компиляции ptxdist.

Minecraft Edu © 2022