Re: Bulding cross-toolchains in the archive
+++ DrEagle [2012-01-25 14:58 +0100]:
> Hi all,
> I have not so time available too, but :
> - I need a good cross toolchain solution for armel/armhf.
> - I use debian on my sheevas and desktops
> - I have allready made a port of DoudouLinux Debian based system on
> Genesi SmartBook
> - I have a lot of others projects still in progress or in standby...
> Le 23/01/2012 16:28, Wookey a écrit :
> > However right now no-one is really working on this much. Hector is
> > busy with armhf stuff (and a new job). I'm working on sbuild/buildd
> > multiarch cross-building.
> > If anyone wants to take the glory by actually making this work (it
> > probably isn't very hard at this stage) you are very welcome. The
> > debian-embedded list is the place where this stuff gets discussed.
> I can be interested by taking the glory by making things works.
> - What are the needed stuff ?
> - How can I start study what had been already done ?
> - What's next to be acomplish ?
> - Who can help in taking needed informations, best practice, and stuff
> that I may forget ?
Sorry I've failed to reply to this offer quickly, for which I apologies.
I've been a tad busy.
What I suggest you do is download 'buildcross' from experimental and
try building current gcc versions and see how much breakage there is.
If you are really lucky it all just works :-)
with current svn here: http://www.emdebian.org/repos/current/emdebian/trunk/buildcross/trunk/
Top-level info is here: http://wiki.debian.org/EmdebianToolchain
with buildcross info here:
All that buildcross does is try to automate the process of downloading
sources, configuring and building and generating and installing
cross-tools as described on this page:
and it lets you loop over multiple architectures and toolchain
Going through that will give you an understanding of the build process.
Hector has done most of the work on this recently and can no doubt
tell you what was broken last time he looked at it.
What we need to accomplish is having a package to upload which will
build cross-toolchains. The significant change from buildcross is that
instead of using dpkg-cross to generate a libc6-dev-armel-cross package,
it should just build-depend on libc6-dev:armel
similarly for linux-libc-headers-dev:armel
This could be done as one package which builds binutils-<triplet> and
gcc-<triplet>. In that case you could use the ubuntu package
armel-cross-toolchain-base-<ver> as inspiration, but that can be
significantly simplified as there is no need to do the 3-stage
bootstrap, or build eglibc or linux-headers.
Or it could be done as a package that builds binutils-<triplet>, and
another that builds gcc-<triplet.
Another enhancement would be to make sure that a
build-essential-<arch> package is generated whch pulls in the right
things, and something to install the pkg-cfg-<triplet> link, but these
are minor items.
You can get help on the debian-embedded mailing list.
I hope that all makes sense and hasn't hopelessly daunted you :-)
Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM