GnuArmToolchain » History » Version 11
This page will describe the procedure for compiling a GNU ARM toolchain.
We will build a toolchain consisting of:
- GCC 4.5.2
- Binutils 2.21.1
- Newlib 1.19
=== Getting the buildscript ===
First of all, create a directory you want to use for building the toolchain, and download the buildscript [raw-gnu-arm-build.2.sh] there.
You will need to make it executable:
$ chmod +x gnu-arm-build.2.sh
=== Dependencies ===
In order to build the toolchain, you will need to install the following packages (assuming you're using a Debian-based distribution):
$ sudo apt-get install build-essential libgmp3-dev libmpfr-dev libx11-6 libx11-dev texinfo flex bison libncurses5 \
libncurses5-dbg libncurses5-dev libncursesw5 libncursesw5-dbg libncursesw5-dev zlibc zlib1g-dev libmpfr4 libmpc-dev
=== Preparation ===
Open a shell in the directory of gnu-arm-build.sh and create the following directories:
$ mkdir build install src
Download the needed sources to src/:
$ cd src/
$ wget http://ftp.gnu.org/gnu/gcc/gcc-4.5.2/gcc-4.5.2.tar.bz2
$ wget http://ftp.gnu.org/gnu/binutils/binutils-2.21.1a.tar.bz2
$ wget ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz
=== Building the toolchain ===
$ cd ..
I will build an arm-elf cross-compiler:
Build files: <YOURPATH>/build
Press ^C now if you do NOT want to do this.
Hit enter and after some time hopefully end up with:
Build complete! Add <YOURPATH>/bin to your PATH to make arm-elf-gcc and friends
'''note:''' GCC 4.5.2 can not be compiled with texinfo 5. Either disable the documentation generation, or switch back to the legacy texinfo version 4.
=== Making it accessible ===
If you're using bash, you can add the following in your ~/.bashrc file:
That's it. You can [GettingStarted#Gettingandupdatingthesource build] OsmocomBB now.
This script is a slightly updated/modified version of the script found [http://hobbycode.googlecode.com/svn/trunk/gnu-arm-installer/ here]. BR
The original version also builds Insight, but since we don't need that, we won't build it. If you want to, just remove the comments in the shellscript.