Компиляция busybox как исполняемого файла BFLT

Я собираю rootfs-файлы busybox для архитектуры no-mmu. Результатом этой компиляции является 32-разрядный исполняемый файл ELF LSB.

file _install/bin/busybox: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, for GNU/Linux 2.6.32,

Я хотел бы иметь исполняемый файл BFLT (такой же, как uclinux). Как я могу преобразовать ELF в BFLT или сгенерировать файл BFLT из busybox?

Можно ли это сделать без Buildroot?

Добавление информации:

  • Я использую набор инструментов arm-none-linux-gnueabi
  • Сборка как статический исполняемый файл
  • Опция Force NOMMU build enable

person user3142    schedule 16.05.2016    source источник
comment
@ user3142 Вы пробовали загрузить дерево исходных текстов uCLinux и построить его? IIRC, он поставляется с rootfs, содержащим busybox. Сборка по умолчанию должна предоставить вам двоичные файлы, поддерживающие архитектуру NOMMU.   -  person Peter L.    schedule 17.05.2016
comment
Вероятно, вы сделаете это с помощью objcopy для рендеринга ваших разделов в плоский непрерывный двоичный файл, по крайней мере, если вы предоставили компоновщику подходящую карту памяти. Я подозреваю, что вы можете найти некоторые примеры этого в уже имеющихся у вас сценариях сборки, но вы также можете поискать другие версии. Также рассмотрите возможность использования readelf или objdump, чтобы выяснить, какая коллекция разделов у вас на самом деле.   -  person Chris Stratton    schedule 06.06.2016


Ответы (1)


Поздний ответ, но все еще актуальный. Используйте https://buildroot.org/

Правильно настроенный buildroot может собрать вам полный rootfs с исполняемым файлом busybox bFLT и основными инструментами Linux. Это сработало как шарм для Cortex-M.

person conejoroy    schedule 02.08.2019