You might be surprised at how much you have to make to correctly build arm-unknown-linux-gnueabi config based toolchain with crosstool-ng. As you can see examples of many open source projects, the man’s work is a rare resource. The result of this economic fact is that the attempt to build configuration arm-unknown-linux-gnueabi is not a simple task and during an operation you can come across many problems. Although I am not afraid of problems and effectively try to fight them and of course sharing the results of my work. My build system parameters: Debian GNU/Linux wheezy/sid 3.2.0-2-amd64

  • Clone crosstools-ng (you need mercurial)

  • Create temporary directory and run

  • We probably want to change directory to which all stuff will be build (default is $HOME/x-tools):

And go to: Paths and misc options ---> (${HOME}/x-tools/${CT_TARGET}) Prefix directory Change it according to your needs. Exit end save configuration. * Build (number after dot depend on how many command we want to run simultaneously): ct-ng build.4 It can take a lot of time. On my machine with 5k BogoMips it takes over 1h.

Problems that you can encounter:

  • gcj – latest changeset 2916:6f758ed4c0b9 have trouble finding gcj binary, which it show using following message:

To workaround this install gcj and link binary like this:

  • duma – mentioned changeset also has problem with url to D.U.M.A library, apply below changes to workaround problems:

  • mawk – if mawk return syntax error like this:

It could be fixed in two ways. First is to change line 19 in /path/to/tmp/dir/.build/src/glibc-2.9/scripts/gen-sorted.awk Is:

Should be:

Or simply by installing gawk, reconfigure and recompile crosstools-ng.

This was my first post related to linux embedded enviroment. Hope it will be more. Enjoy!