User Tools

Site Tools


buildtoolchain

This is an old revision of the document!


In this document I will describe how to build a toolchain for ARM.

setup build environment

In this document we will install the toolchain in the users home directory under $HOME/arm-elf.

Installation will take place in /tmp/toolchain.

$ mkdir -p /tmp/toolchain/src

$ mkdir -p /tmp/toolchain/arm-elf

$ mkdir -p $HOME/arm-elf/bin

$ export PATH=$HOME/arm-elf/bin:$PATH

binutils

Download binutils from http://ftp.gnu.org/gnu/binutils/binutils-2.21.1.tar.gz

$ cd /tmp/toolchain/src

$ wget http://ftp.gnu.org/gnu/binutils/binutils-2.21.1.tar.gz

$ tar -zxvf binutils-2.21.1.tar.gz

Configure and build.

$ cd /tmp/toolchain/arm-elf

$ mkdir binutils

$ cd binutils

$ ../../src/binutils-2.21.1/configure –prefix=$HOME/arm-elf –target=arm-elf –disable-nls

$ make

$ make install

gcc

checkout trunk version of gcc from svn

$ cd /tmp/toolchain/src

$ svn co svn checkout svn:gcc.gnu.org/svn/gcc/trunk gcc-trunk configure and build gcc $ cd /tmp/toolchain/arm-elf $ mkdir gcc $ cd gcc $ ../../src/gcc-trunk/configure –prefix=$HOME/arm-elf –target=arm-elf –disable-werror –disable-nls –enable-interwork –enable-multilib –enable-languages=“c,c++” –enable-target-optspace –with-float=soft –with-newlib –with-headers=/home/alios/src/toolchain/src/newlib/newlib/libc/include/ –with-system-zlib –disable-shared $ make $ make install === newlib === checkout newlib from cvs $ cd /tmp/toolchain/src $ cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/src login ## use 'anoncvs' as password $ cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/src co newlib configure and build $ cd /tmp/toolchain/arm-elf $ mkdir newlib $ cd newlib $ ../../src/newlib/configure –prefix=$HOME/arm-elf –target=arm-elf –enable-interwork –enable-multilib –enable-target-optspace –with-float=soft $ make $ make install''

buildtoolchain.1312971880.txt.gz · Last modified: 2011/08/10 12:24 by alios