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