On Wed, Oct 12, 2011 at 1:23 AM, Wookey <woo...@wookware.org> wrote:
> One output from the 11.09 release was a reasonably painless way of
> cross-building whole images against an archive, which also forms the
> basis for an auto-crossbuilder.
>
> There is a HOWTO (for building linaro-nano images) here:
> https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/CrossBuildNano
> (It uses armel as the example, but should work the same for armhf)
>
> Summary of process
> ------------------
> Essentially you can generate a cross-building chroot in one command
> (using multistrap), chroot into that (using schroot), and give the
> builder (xbuilder-simple) a list of packages to build - either a
> pre-generated one for an image, or your own.
>
> It chunters through and builds them all (using xdeb), and leaving
> build-logs for each package.
>
> Then at the end (from outside the chroot) you cross-generate an image
> from the debs (using multistrap, but the pile could be input for a
> different tool if you prefer).
> ------------------
>
> To make this work usefully against a stable (natty) baseline, updated
> versions of both tools and packages are in two PPAs at:
> https://launchpad.net/~linaro-foundations/+archive/cross-build-tools
> and
> https://launchpad.net/~linaro-foundations/+archive/cross-alip
>
>
> Caveats
> -------
> This is currently a technology demonstration in so far as some of the
> packages needed for a nano image don't successfully cross-build, so
> you can't actually currently cross-build all of it, but that should be
> fixed quite soon. Anyone who wants to help with that is very welcome.
> I've filed current status and remaining bugs here:
> https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/LinaroNanoStatus
>
> The autobuilder can actually run just as well using pdebuild-cross as
> xdeb to do the build-work, but that's not been tested for a while and
> is not covered in the HOWTO.
>
> The existing xbuilder is pretty stupid (that's why it's called
> xbuilder-simple) and it does not yet fully ensure a clean build
> environment every time (when using xdeb, it should if using
> pbuilder-cross), but it does enough to work reasonably well in
> practice. A more rigorous environment reset is on the list of
> improvements RSN.
>
> Ongoing work
> ------------
> The current focus is on getting the remaining packages cross-building
> so that the whole process works to completeion without cheating by
> bringing in pre-built packages from the existing archive (That's a
> useful way to proceed if you want to use this tech today - just adjust
> the multistrap config to include the base natty armel/armhf  archive too)
>
> Once this is completed I'll be setting up a continuously-running
> autobuilder so that the cross-buildability or otherwise of packages
> can be more easily discovered and more people can get involved in
> fixing up packages so that cross-building of larger images becomes
> realistic.

Nice.  So with the proper setup I could inject a different GCC and use
this as a compiler testsuite?  Perhaps with NEON and -O3 on by
default?

I know we don't support it, but could it build an ARMv5 subset of Ubuntu?

-- Michael

_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to