Installable ARMv8 cross-toolchain
wookey at wookware.org
Thu Oct 25 16:55:45 UTC 2012
After a fair amount of dicking about I have managed to build a
cross-toolchain for arm64/aarch64 which installs on Ubuntu Quantal. It
even builds packages, although it has at least one notable limitation,
and I have no idea if it produces working code yet :-)
The main limitation is that the default library search paths have come
out as the old dpkg-cross ones, not the new multiarch ones. If someone
can tell me where to fix that it would be very helpful and I'll try
and put an updated one in the repo.
In the meantime you can work round it effectively using
/etc/dpkg/buildflags. (see wiki page below for details)
The cross-toolchain only supports C, C++ and fortran with no extras
like libssp, libmudflap etc, because there is no architecture support
for them yet.
I started a port page to keep track of things here:
And if you want to set up a quantal chroot and see if you can build
things, details are here:
The bottom line is that you can debootstrap (or sbuild-createchroot) a
quantal chroot, add the bootstrap repo and do 'apt-get install
crossbuild-essential-arm64' and get a working cross-build environment.
The repo is here:
That should be useable for both dpkg-cross style bulding or
The repo also contains updated dpkg-cross, multiarch python, multiarch
perl, updated dpkg with buildprofile/staging support, sbuild (although
in fact I think stock sbuild should work OK), and dose-builddebcheck
which can tell you what things are currently cross-buildable from
available binaries and sources. Most of that is pretty new and not
very well tested but 'it works for me'.
More arm64 packages will be along soon (dose3 currently indicates 40
more buildabale packages), but there is plenty still to fix for a full
debootstrap-able arm64 package set.
Anyone keen to help with bootstrapping the port is very welcome. There
will be a session about it at UDS next week, and a more general one on
distro bootrapping at the Armv8 minisummit a the co-located linaro
connect. And I'll be giving a talk about this stuff at Linxconf-Europe
in Barcelona the week after.
I think that's all for now. Enjoy, and tell me what breaks :-)
Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM
More information about the ubuntu-devel