Re: RFD: Kernel release numbering

Richard Purdie
2005-03-05T17:55:56Z

Russell King:
> Two things - are you sure that openembedded contains the patches to
> fix the two biggest binutils issues we have, as documented on
> http://www.arm.linux.org.uk/developer/toolchain/ ?

I've checked and it contains the tc-arm.c.patch but does not have the ARM
mapping symbols fix. As recent kernels have fixes for that, its not so much
of a problem as it was however it should be staightforward to add into oe
and I will aim to do that.

> Secondly, are you seriously suggesting people like Jan Dittmer, who
> provide a cross-architecture service should jump through some loops
> just to get a working toolchain for the ARM architecture?

You said nobody was willing/interested in maintaining a toolchain. I'm
saying that a toolchain is maintained within openembedded and that pointing
people at that is better than nothing. Maintaining a set of patches to
ensure bugs in binutils etc are fixed is easy within oe's framework. (To add
the above patch, in theory I just need to add a line to a file).

Jan Dittmer:
> As long it is documented and it _works_ that's no problem. But it was
> quite a hassle to get working cross-compilers for all 23 archs
> to build, because for some there is no real documentation which
> target is the correct one and upstream gcc and/or binutils sometimes
> don't compile.

This is why openembedded exists - it tracks known working build
configurations of every bit of software needed to make complete linux
distributions.

> How much work is it to set-up an openembedded environment anyways?

I've written a quick and dirty set of instructions on setting up
openembedded below. Please note that oe is used for building complete linux
distributions so there is a lot of functionality being unused here (as you
can imagine from my statement above). bitbake is a known memory hog (it can
use up to 1GB of ram) - we all know this is appalling and a rewrite to
address this is in progress.

cd /work/
svn co svn://svn.berlios.de/bitbake/trunk/bitbake
export PATH=/work/bitbake/bin:$PATH

bk clone bk://openembedded.bkbits.net/openembeded
export BBPATH=/work/build:/work/openembedded

mkdir build
mkdir build/conf/
cp openembedded/conf/local.conf.sample build/conf/local.conf

Edit local.conf as appropriate. local.conf.sample has details about what
the variables do. My local.conf to generate the arm toolchain has:

DL_DIR="/work/sources"
BBFILES="/work/openembedded/packages/*/*.bb"
TARGET_ARCH="arm"
TARGET_OS="linux"
INHERIT="package_tar"

(everything else is left unchanged)

cd build
bitbake binutils-cross-sdk
bitbake gcc-cross-sdk

Output ends up in /work/build/tmp/deploy

Richard