cross-building ARM world on amd64

CeDeROM cederom at
Sun Jan 12 19:23:03 UTC 2014

On Sun, Jan 12, 2014 at 7:59 PM, Timo Buhrmester <fstd.lkml at> wrote:
> I've been following this guide ( in an attempt to build an armv6 world on my amd64 host running 10.0-RC4.
> Using this command (inside /usr/src)
>> # make TARGET="arm" TARGET_ARCH="armv6"  MAKEOBJDIRPREFIX=/usr/cross/obj buildworld
> It eventually fails with:
>> ./make_keys keys.list > init_keytry.h
>> ./make_keys: Exec format error
>> *** Error code 126
>> Stop.
>> make[4]: stopped in /usr/src/lib/ncurses/ncurses
> Looking at the file in question, make_keys is an ARM binary, which obviously won't run on amd64, yet it is being executed.
> I wonder what I'm missing here.
> Also not quite sure what information would be helpful, but here's the host's uname -a output:
> # uname -a
> FreeBSD flap 10.0-RC4 FreeBSD 10.0-RC4 #0 r260130: Tue Dec 31 17:10:01 UTC 2013     root at  amd64
> Thanks for any help,
> Timo

Make sure you are using arm-eabi-gcc and arm-eabi-binutils, otherwise
file format and compiler switches for target are invalid as you
probably use host toolchain (not the target toolchain). At the moment
there is a conflict between host binutils and arm-eabi-binutils
packages (some localization files related conflict), so I also wait
for this to get resolved :-) When you use proper compiler and utils it
will work and switches become available for that target :-)

Best regards :-)


More information about the freebsd-questions mailing list