cross-building ARM world on amd64
CeDeROM
cederom at tlen.pl
Sun Jan 12 19:23:03 UTC 2014
On Sun, Jan 12, 2014 at 7:59 PM, Timo Buhrmester <fstd.lkml at gmail.com> wrote:
> I've been following this guide (https://wiki.freebsd.org/A_Brief_Guide_To_Cross_Compiling_FreeBSD) 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 snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC 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 :-)
Tomek
--
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
More information about the freebsd-questions
mailing list