Кросс-компиляция с существующими rootfs и внешним набором инструментов (buildroot? qemu?)

Я работаю над встроенной в руку платформой на базе Cortex A9, очень похожей на колибри (http://www.solid-run.com/products/hummingboard/).

Я работаю над портированием некоторого нашего программного обеспечения, которое ранее работало на beaglebone. Наше программное обеспечение основано на python, но использует некоторые ctypes, внутреннюю библиотеку c, а также несколько модулей python и сервер rabbitmq. На биглбоне настроить это было легко, потому что есть много поддержки и дистрибутивов на основе Ubuntu, которые упрощают установку пакетов.

У меня есть кросс-компилятор linaro и образ uboot и rootfs, предоставленный нам производителем платформы. Ручная кросс-компиляция и построение всех наших необходимых зависимостей превращается в головную боль, так как у всего есть небольшие причуды. У меня нет собственной цепочки инструментов разработки, которая может работать на устройстве руки.

Я ищу более простой способ выполнить некоторые из этих задач. Buildroot звучит как то, что мне нужно, но я не уверен, как заставить его работать с уже существующими rootfs и набором инструментов. К сожалению, я не знаю всех тонкостей rootfs и того, как поднимается железо, поэтому не думаю, что смогу точно воспроизвести настройки с помощью buildroot.

Другой вариант, который я рассматривал, заключался в том, чтобы каким-то образом использовать rootfs с QEMU и создать собственный набор инструментов для запуска на нем, что позволило бы мне вручную создавать зависимости без необходимости заниматься головной болью кросс-компиляции.

Любая помощь очень ценится. Спасибо.


person gabe_torres    schedule 01.01.2015    source источник


Ответы (1)


Buildroot предназначен для создания всей rootfs, а не для «дополнения» существующей. Поэтому, если вы будете использовать Buildroot, вам следует избавиться от существующей корневой файловой системы и использовать новую, сгенерированную Buildroot.

Также обратите внимание, что если вас устраивает дистрибутив Debian, работающий на BeagleBone, вы также можете запустить Debian на Hummingboard.

person Thomas Petazzoni    schedule 02.01.2015
comment
К сожалению, я не пользуюсь колибри. Платформа представляет собой модифицированную версию той же архитектуры (тот же процессор, память и т. д., но другие периферийные устройства). - person gabe_torres; 02.01.2015
comment
Какое это имеет значение? - person Thomas Petazzoni; 06.01.2015
comment
Ну, я не проектировал и не создавал эту платформу, и у нее есть некоторые модификации, которые отличаются от эталонного дизайна колибри. У меня недостаточно информации или возможности воссоздать работу, которая уже была проделана на существующих rootfs, для того, чтобы сделать hw wake-up. Дистрибутив debian для колибри, скорее всего, не будет запускать vanilla на этой платформе. - person gabe_torres; 07.01.2015
comment
Ну, любые модификации будут на уровне HW, верно? Вы просили исходники U-Boot (патчи) и то же самое для ядра? Это должно запустить вашу плату, используя полную сборку buildroot. - person Anders; 08.01.2015