+++ Michael Hope [2011-10-12 09:17 +1300]:
> 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.

<snip>

> > 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?

By 'this' do you mean the forthcoming autobuilder set-up or the
existing 'build me a package-set' tool?

The 'build me a package set' stuff is essentially a local
instantiation of the autobuilder. The public autobuilder will be using
the standard distro-supplied toolchain, but of course you can set up
whatever you like in your local instance. 

It's certainly pretty straighforward to build the build-env chroot
with a new toolchain by just changing the multistrap config:
[UbuntuToolchains]
packages=g++-arm-linux-gnueabi libc-dev-armel-cross linux-libc-dev-armel-cross
source=http://archive.ubuntu.com/ubuntu
suite=natty
components=main universe
keyring=ubuntu-keyring

to point at your repo of packaged toolchains. 

If your toolchains aren't packaged then it's a bit fiddlier, but you
drop that stanza and specify a setupscript to untar a toolchain into
place and do any other jiggery-pokery required. 
setupscript=/path/to/setup.sh

You can only get NEON and O3 on by default by one of: 
a) building your toolchain to default that way
b) nobbling the specs file after instalation
c) putting in a wrapper to ensure those are set

Nothing about this really makes that any harder/easier than it already
was, except that adding it to the setupscript might ensure it didn't
get forgotten. 

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

Well, 'yes', and 'no', depending on where you start from.

If you already have an armv5 archive to build against then 'yes, it's
trivial', but otherwise: 'no, not really' - there is a piece missing for
that: You need to be able to build everything from scratch using only
stuff just built, which requires bootstrapping to break
build-dependency loops. You can do it for subsets that have no
build-dep loops, but this package-builder/autobuilder tech is
explicitly designed to build packages against an archive. So that
means existing armel/armhf debian or ubuntu repos. 

If you want to do a recursive build from scratch then xdeb alone is
your best tool, but if there are build-dep loops in what you've asked
for it'll bail. Adding bootstrapabilty to the archive is next once we
have usefully functional cross-building without bootstrapping. 

I hope these sorts of questions are answered on the 'Crossbuilding
quickstart' wiki page. Please poke me if not to add your case:
https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/CrossbuildingQuickStart

Wookey
-- 
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/

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

Reply via email to