"building toolchain" wiki

Denys Vlasenko vda.linux at googlemail.com
Thu Jun 5 04:18:24 UTC 2008

On Thursday 05 June 2008 05:45, Denys Vlasenko wrote:
> Let's try building toolchain from blackfin.uclinux.org.
> I got svn://firewall-sources.blackfin.uclinux.org:80/svn/toolchain/trunk.
> I made a copy of checked-out tree.
> I run BuildToolChain:
> # buildscript/BuildToolChain 2>&1 | tee err
> Checking for development packages (skip checks with the -D option)
> BusyBox v1.10.0 (2008-03-22 15:35:10 CET) multi-call binary
> Usage: mktemp [-dt] [-p DIR] TEMPLATE
> Create a temporary file with its name based on TEMPLATE.
> TEMPLATE is any name with six 'Xs' (i.e., /tmp/temp.XXXXXX).
> Options:
>         -d      Make a directory instead of a file
>         -t      Generate a path rooted in temporary directory
>         -p DIR  Use DIR as a temporary directory (implies -t)
> For -t or -p, directory is chosen as follows:
> $TMPDIR if set, else -p DIR, else /tmp

I went to this page:


It says the following. My comments are with ===>, they mark
the questions I've got while reading the page which I had no answers for.
Can it be updated? (I tried editing it, it seems to be locked for editing).

There is a build script for the toolchain that builds and installs
the toolchain from source....

To build from source, you need the source of the kernel and toolchain.
The kernel source is required because we need the userspace
kernel headers...

If you need to build a svn toolchain, it is recommended
to use a svn kernel source. Although, at first glance,
it seems like the toolchain, bootloader, libraries, and
kernel should be separate - that is not true...
Because of these, and other issues,
building a svn toolchain, and using a non-svn kernel
uClibc is not supported/tested/validated.

===> Great, I want to download source of toolchain and kernel.
===> Where I can do it? URLs?

Building takes awhile as it will be compiling
binutils/gcc/uClibc multiple times over (once per target).

For example to run the script a command similar to this must be issued:

./BuildToolChain -s /home/user/checkouts/gcc/ \
  -k /home/user/checkouts/kernel/uClinux-dist/linux-2.6.x \
  -u /home/user/checkouts/uboot/u-boot_1.1.3  \
  -b /home/user/gcc-build/ -o /home/user/cvsoutput

===> I went to http://blackfin.uclinux.org/gf/project/toolchain/frs/
===> and downloaded blackfin-toolchain-08r1-8.src.tar.gz
===> It has no ./BuildToolChain, only buildscript.tar.bz2 (among others)
===> with blackfin-toolchain-08r1/* (including BuildToolChain script) inside.
===> Should I unpack buildscript.tar.bz2? Or should I unpack all *.tar.bz2?
===> Should I copy BuildToolChain to the top directory
===> (as implied by ./BuildToolChain above) or I can run it
===> inside blackfin-toolchain-08r1 dir?


More information about the uClibc mailing list