1

I'm compiling a busybox rootfs for a no-mmu architecture. The output from this compile is a ELF 32-bit LSB executable.

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

I would like to have a BFLT executable (the same as uclinux). How can I convert the ELF to BFLT or generate a BFLT file from busybox?

It's possible to do this without Buildroot?

Adding info:

  • I'm using the toolchain arm-none-linux-gnueabi
  • Building as static executable
  • Option Force NOMMU build enable
user3142
  • 799
  • 3
  • 9
  • 14
  • @user3142 Have you tried downloading the uCLinux source tree and building it? IIRC, it comes with a rootfs that contains busybox. A default build should give you binaries that support a NOMMU architecture. – Peter L. May 16 '16 at 23:53
  • 1
    It is likely that you would do this using objcopy to render your sections to a flat contiguous binary, at least if you have given the linker a suitable memory map. I suspect you may find some examples of this within the build scripts you already have, but you can go looking in other versions too. Also consider using readelf or objdump to figure out what collection of sections you actually have. – Chris Stratton Jun 06 '16 at 00:10

1 Answers1

0

Late answer, but still relevant. Please use https://buildroot.org/

Properly configured, buildroot can build you a complete rootfs with busybox bFLT executable and essential Linux tools. It worked like a charm for Cortex-M.

royconejo
  • 2,213
  • 3
  • 24
  • 29