Wonseok Ko

Saturday, January 10, 2015

How to build ARM cross compiler using crosstool-ng

Crosstool-ng git commit version: 2ba44bb7619ad28238d29386da89989fedaff9a8
Environment: ubuntu precise x86_64


1. Download crosstool-ng
  git clone git://crosstool-ng.org/crosstool-ng

2. build crosstool-ng: see the $(CTNG_ROOT)/README
  #> ./bootstrap
  #> ./configure
  #> make 
  #> sudo make install         

3. build cross compiler with config included crosstool-ng
  #> ct-ng list-samples  ; you can see as followings or simliar after the command

   Status  Sample name
[L..]   alphaev56-unknown-linux-gnu
[L..]   alphaev67-unknown-linux-gnu
[L..]   arm-bare_newlib_cortex_m3_nommu-eabi
[L..]   arm-cortex_a15-linux-gnueabi
[L.X]   arm-cortexa5-linux-uclibcgnueabihf
[L..]   arm-cortex_a8-linux-gnueabi
[L.X]   arm-cortexa9_neon-linux-gnueabihf
[L..]   armeb-unknown-eabi
[L..]   armeb-unknown-linux-gnueabi
[L..]   armeb-unknown-linux-uclibcgnueabi
[L..]   arm-unknown-eabi
[L..]   arm-unknown-linux-gnueabi
[L..]   arm-unknown-linux-uclibcgnueabi
[L.X]   arm-unknown-linux-uclibcgnueabihf
[L..]   armv6-rpi-linux-gnueabi
[L..]   avr32-unknown-none
[L..]   bfin-unknown-linux-uclibc
[L..]   i586-geode-linux-uclibc
[L..]   i586-mingw32msvc,i686-none-linux-gnu
[L..]   i686-nptl-linux-gnu
[L..]   i686-unknown-mingw32
[L..]   m68k-unknown-elf
[L..]   m68k-unknown-uclinux-uclibc
[L.X]   mips64el-n32-linux-uclibc
[L.X]   mips64el-n64-linux-uclibc
[L..]   mips-ar2315-linux-gnu
[L..]   mipsel-sde-elf
[L..]   mipsel-unknown-linux-gnu
[L..]   mips-malta-linux-gnu
[L..]   mips-unknown-elf
[L..]   mips-unknown-linux-uclibc
[L..]   powerpc-405-linux-gnu
[L..]   powerpc64-unknown-linux-gnu
[L..]   powerpc-860-linux-gnu
[L..]   powerpc-e300c3-linux-gnu
[L..]   powerpc-e500v2-linux-gnuspe
[L..]   powerpc-unknown-linux-gnu
[LB.]   powerpc-unknown-linux-uclibc
[L..]   powerpc-unknown_nofpu-linux-gnu
[L.X]   s390-ibm-linux-gnu
[L..]   s390x-ibm-linux-gnu
[L..]   sh4-unknown-linux-gnu
[L..]   sparc-unknown-linux-gnu
[L..]   x86_64-unknown-linux-gnu
[L..]   x86_64-unknown-linux-uclibc
[L..]   x86_64-unknown-mingw32
 L (Local)       : sample was found in current directory
 G (Global)      : sample was installed with crosstool-NG
 X (EXPERIMENTAL): sample may use EXPERIMENTAL features
 B (BROKEN)      : sample is currently broken

  #> ct-ng arm-cortex_a15-linux-gnueabi
  #> ct-ng build ; see the message as followings

[INFO ]  Performing some trivial sanity checks
[INFO ]  Build started 20150109.220541
[INFO ]  Building environment variables
[WARN ]  Directory '/home/wonseok/src' does not exist.
[WARN ]  Will not save downloaded tarballs to local storage.
[EXTRA]  Preparing working directories
[EXTRA]  Installing user-supplied crosstool-NG configuration
[EXTRA]  =================================================================
[EXTRA]  Dumping internal crosstool-NG configuration
[EXTRA]    Building a toolchain for:
[EXTRA]      build  = x86_64-unknown-linux-gnu
[EXTRA]      host   = x86_64-unknown-linux-gnu
[EXTRA]      target = arm-cortex_a15-linux-gnueabihf
[EXTRA]  Dumping internal crosstool-NG configuration: done in 0.07s (at 00:06)

  #> ls ~/x-tools/arm-cortex_a15-linux-gnueabihf/bin 


You can see your cross-compiler files in ~/x-tools/arm-cortex_a15-linux-gnueabihf.

  

0 Comments:

Post a Comment

<< Home