Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Контейнерные сборки для руки на x86

Вызов

Для более быстрой разработки мы хотим создать контейнеры на базе ARM для AXCF2152 или AXCF1152 на оборудовании x86. Для этого используется виртуальная машина на базе Debian или Ubuntu, которая работает на нашем обычном ПК.

Нам нужен эмулятор

Чтобы запустить двоичный код ARM в системе x86, нам нужен эмулятор, который позволит нам это сделать.

Qemu — один из немногих гипервизоров, способных эмулировать двоичный код ARM и компилировать его для x86. Все, что нам нужно сделать, это установить Qemu на нашу хост-систему и активировать эмулятор. Установите Qemu для Ubuntu или Debian:

apt-get update && apt-get install -y --no-install-recommends qemu-user-static binfmt-support
update-binfmts --enable qemu-arm
update-binfmts --display qemu-arm
Пример использования

Теперь для использования Qemu нам нужно расширение в контейнере, а именно бинарник /usr/bin/qemu-arm-static . Есть несколько способов использовать его в контейнере.

Если расширение нужно только временно и если оно существует локально, его можно просто передать в контейнер. Для этого в контейнер монтируется необходимый бинарник.

docker run -it --restart always \
    -v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static \
    arm32v7/debian /bin/sh

Это запускает контейнер и переходит к оболочке в контейнере. Теперь можно внести все необходимые изменения. После этого изменения могут быть перенесены на изображения с помощью коммита.

docker commit ...

Для сборки контейнера двоичный файл должен присутствовать в контейнере. Это можно сделать двумя способами.

1. Бинарник уже доступен, для этого на Dockerhub есть готовые образы. https://hub.docker.com/u/multiarch/

2. Двоичный файл добавляется в образы контейнера. Пример dockerfile:

From debian:armhf
COPY qemu-arm-static /usr/bin/qemu-arm-static
RUN .....

Строка COPY должна отображаться непосредственно как вторая команда после FROM . Все это работает со всеми инструментами сборки.

Один контейнер для всех

Если вы установите расширение Qemu на AXCF3152, вы сможете использовать один и тот же контейнер для обеих систем (x86 и ARM). Что касается производительности, это следует тщательно протестировать.


Промышленные технологии

  1. Сравнение десятичного и двоичного чисел
  2. Сложение двоичных файлов
  3. Отрицательные двоичные числа
  4. Двоичное вычитание
  5. Переполнение двоичного кода
  6. Логические правила для упрощения
  7. Arm позволяет настраивать инструкции для ядер Cortex-M
  8. Печатные платы для суровых условий
  9. Производство печатных плат для 5G
  10. Многоэтапные сборки с контейнером