Compiled toolchain for raspberry pi, using crosstools-ng 1.19.0. For x64 linux system.
Build was made with the following configurations of crosstools-ng-1.19.0. Build roadmap based on this manual
- Сrosstool-NG source
- Extract tar archive into directory, for example /home/romanjoe/crosstool-ng-1.17.0
- Run command ./configure --prefix=/home/romanjoe/crosstool-ng-1.17.0
- Run make, then make install
- Run PATH=$PATH:/home/romanjoe/crosstool-ng-1.17.0/bin
- Run ct-ng menuconfig and check the following options:
* Check Try features marked as EXPERIMENTAL
* Set "Prefix directory" to whereever you want the finished toolchain to be placed (e.g. /home/romanjoe/x-tools)
* Set "Number of parallel jobs" to be the number of processor cores in your system x1.5 - 6
* Set "Target architecture" ARM
* Set Endianness" to Little endian
* Set "Bitness" to 32-bit
* Set "Architecture level" to armv6zk
* Set "Emit assembly for CPU" to arm1176jzf-s
* Set "Tune for CPU" to arm1176jzf-s
* Set "Use specific FPU" to vfp
* Set "Floating point" to hardware (FPU)
* Set "Default instruction set mode" to arm
* Check Use EABI
* Set "Tuple's vendor string" to rpi - compiler vendor prefix
* Set "Target OS" to linux
* Set "Linux kernel version" to 3.10.2
* Set "Binary format" to ELF
* Set "binutils version" to 2.23.1 (EXPERIMENTAL)
* Check "Show linaro versions"
* Set "gcc version" to linaro-4.8-2013.06-1
* Check C++
* Set "gcc extra config" to --with-float=hard
* Check Link libstdc++ statically into gcc binary
* Set "C library" to eglibc
* Set "eglibc version" to 2_17
* Check all boxes "dmalloc, duma, gdb, ltrace, strace"
* For gdb check:
** Cross-gdb
** Enable python scripting
** gdbserver
** Build s static gdbserver
** Show Linaro versions -> gdb version (linaro-7-6-2013.05)
Make sure subversion is instaled, it need to download eglibc, while build (sudo apt-get install subversion).
Run ct-ng build after configuration made.
Register new compilator PATH=$PATH:/home/romanjoe/x-tools/bin