crosstool-NG

crosstool-NG is a set of scripts that can build a toolchain from scratch. It's especially good at making cross toolchains that are tailored for your host and target.

Support for the Linaro toolchain was added shortly after the 1.10 release. To build:

  • Use Mercurial to checkout the latest development version:

    • hg clone http://crosstool-ng.org/hg/crosstool-ng/

  • Configure, build and install crosstool-NG
  • Start a new configuration:
    • ct-ng menuconfig

  • Under Paths and misc options, select Try features marked as EXPERIMENTAL

  • Under C compiler:

    • Set gcc version to the latest linaro-gcc-4.5

    • Deselect Optimize gcc libs for size1

  • Under Target options, pick the right options for your situation. A good set up for a Cortex-A9 with NEON is:

    • Set Target Architecture to arm

    • Select Use the MMU

    • Set Endianness to Little endian

    • Set Default instruction set mode to thumb (EXPERIMENTAL)

    • Set Use EABI

    • Set Architecture level to armv7-a

    • Set Tune for CPU to cortex-a9

    • Set Use specific FPU to neon

    • Make sure Floating point is set to hardware (FPU)

  • Build:
    • ct-ng build

Linaro releases monthly. If the latest Linaro GCC version isn't available in crosstool-NG, consider editing config/cc/gcc.in and adding it.

  1. Leaving this on will expose a build error in lib1funcs.asm (1)

WorkingGroups/ToolChain/Using/CrosstoolNg (last modified 2012-11-14 21:59:56)