[Aboriginal] Playing with other toolchains.
rob at landley.net
Sun Jul 31 09:42:34 PDT 2011
A lot of projects seem to use the prebuilt binary toolchain from the
Code Sourcery first quarter 2009 armv7 release, so let's download that:
Next extract it and plug it into the build using the appropriate names:
tar xvjf ~/arm-2009q1*.tar.bz2
mkdir -p build/cross-compiler-armv7l/bin
for i in $(ls arm-2009q1/bin)
RENAME="$(echo $i | sed 's/arm-none-linux-gnueabi/armv7l/')"
ln -s ../../../arm-2009q1/bin/$i \
ln -s armv7l-gcc build/cross-compiler-armv7l/bin/armv7l-cc
Now let's slap together a quick and dirty config, changing the kernel's
V6 symbol for a V7 symbol:
sed "s/V6/V7/" sources/targets/armv6l > sources/targets/armv7l
And let's try the build, using the existing toolchain:
Alright, let's try...
Woot, we get a shell. Exit out of that, second question: would it work
dynamically linked? (Remember, busybox static by default...)
readelf -a build/simple-root-filesystem-armv7l/bin/hello-dynamic | \
And it says:
[Requesting program interpreter: /lib/ld-linux.so.3]
Well it's there. Unfortunately, qemu-arm's -L is too fiddly to expect
much out of, and the -chroot option comes and goes (I submitted the
patch years ago, it was in there for a while, but I think you have to
enable it or soemthing). So let's package it up for the muchy less
crappy system emulator:
And the kernel build explodes. At a guess, my versatile patch isn't
doing armv7 properly. (Possibly I didn't bother to forward port that
since I had no way of building it.)
I need to grab a better linux-config.
Anybody else feel like playing with this?
More information about the Aboriginal