crosstool-ng-1.23.0交叉编译链制作



crosstool-ng-1.23.0交叉编译链制作

一.准备crosstool-ng-1.23.0

1.      crosstool-ng的下载地址是http://ymorin.is-a-geek.org/download/crosstool-ng/

下载交叉编译链源文件crosstool-ng-1.23.0

2.      编译安装

 ./configure –prefix=/home/crosstool-ng-dir

 ./make

 ./make install

二.支持的编译链

./ct-ng list-samples

Status Sample name

[G..]  aarch64-rpi3-linux-gnueabi

[G..]  aarch64-unknown-linux-gnueabi

[G..]  aarch64-unknown-linux-uclibcgnueabi

[G..]  alphaev56-unknown-linux-gnu

[G..]  alphaev67-unknown-linux-gnu

[G..]  arm-bare_newlib_cortex_m3_nommu-eabi

[G..]  arm-cortex_a15-linux-gnueabihf

[G.X]  arm-cortexa5-linux-uclibcgnueabihf

[G..]  arm-cortex_a8-linux-gnueabi

[G.X]  arm-cortexa9_neon-linux-gnueabihf

[G.X]  x86_64-w64-mingw32,arm-cortexa9_neon-linux-gnueabihf

[G..]  armeb-unknown-eabi

[G..]  armeb-unknown-linux-gnueabi

[G..]  armeb-unknown-linux-uclibcgnueabi

[G..]  arm-multilib-linux-uclibcgnueabi

[G..]  arm-nano-eabi

[G..]  arm-unknown-eabi

[G..]  arm-unknown-linux-gnueabi

[G.X]  arm-unknown-linux-musleabi

[G..]  arm-unknown-linux-uclibcgnueabi

[G.X]  arm-unknown-linux-uclibcgnueabihf

[G..]  armv6-nommu-linux-uclibcgnueabi

[G..]  armv6-rpi-linux-gnueabi

[G..]  armv7-rpi2-linux-gnueabihf

[G..]  armv8-rpi3-linux-gnueabihf

[G..]  avr

[G..]  i586-geode-linux-uclibc

[G..]  i686-centos6-linux-gnu

[G..]  i686-centos7-linux-gnu

[G..]  i686-nptl-linux-gnu

[G..]  i686-ubuntu12.04-linux-gnu

[G..]  i686-ubuntu14.04-linux-gnu

[G..]  i686-ubuntu16.04-linux-gnu

[G.X]  i686-w64-mingw32

[G..]  m68k-unknown-elf

[G..]  m68k-unknown-uclinux-uclibc

[G..]  powerpc-unknown-linux-uclibc,m68k-unknown-uclinux-uclibc

[G..]  mips64el-multilib-linux-uclibc

[G..]  mips-ar2315-linux-gnu

[G..]  mipsel-multilib-linux-gnu

[G..]  mipsel-sde-elf

[G..]  mipsel-unknown-linux-gnu

[G..]  mips-malta-linux-gnu

[G..]  mips-unknown-elf

[G..]  mips-unknown-linux-uclibc

[G.X]  i686-w64-mingw32,nios2-spico-elf

[G..]  powerpc-405-linux-gnu

[G..]  powerpc64le-unknown-linux-gnu

[G..]  powerpc64-multilib-linux-gnu

[G..]  powerpc64-unknown-linux-gnu

[G..]  powerpc-860-linux-gnu

[G..]  powerpc-e300c3-linux-gnu

[G..]  powerpc-e500v2-linux-gnuspe

[G..]  x86_64-multilib-linux-uclibc,powerpc-unknown-elf

[G..]  powerpc-unknown-linux-gnu

[G..]  powerpc-unknown-linux-uclibc

[G..]  powerpc-unknown_nofpu-linux-gnu

[G.X]  s390-ibm-linux-gnu

[G..]  s390x-ibm-linux-gnu

[G..]  sh4-multilib-linux-gnu

[G..]  sh4-multilib-linux-uclibc

[G..]  sh4-unknown-linux-gnu

[G..]  sparc64-multilib-linux-gnu

[G..]  sparc-leon-linux-uclibc

[G..]  sparc-unknown-linux-gnu

[G..]  x86_64-centos6-linux-gnu

[G..]  x86_64-centos7-linux-gnu

[G..]  x86_64-multilib-linux-gnu

[G.X]  x86_64-multilib-linux-musl

[G..]  x86_64-multilib-linux-uclibc

[G.X]  x86_64-w64-mingw32,x86_64-pc-linux-gnu

[G..]  x86_64-ubuntu12.04-linux-gnu

[G..]  x86_64-ubuntu14.04-linux-gnu

[G..]  x86_64-ubuntu16.04-linux-gnu

[G..]  x86_64-unknown-linux-gnu

[G..]  x86_64-unknown-linux-uclibc

[G.X]  x86_64-w64-mingw32

[G..]  xtensa-fsf-linux-uclibc

 L(Local)       : sample was found incurrent directory

 G(Global)      : sample was installed withcrosstool-NG

 X(EXPERIMENTAL): sample may use EXPERIMENTAL features

 B(BROKEN)      : sample is currentlybroken

 

三.选择编译链

./ct-ng arm-unknown-linux-gnueabi

执行完后,会在当前目录下会生成一个隐藏文件.config

编译链需要的软件包

./ct-ng show-arm-unknown-linux-gnueabi

[G..]  arm-unknown-linux-gnueabi

   OS             : linux-4.10.8

   Companion libs : gmp-6.1.2 mpfr-3.1.5isl-0.16.1 mpc-1.0.3 libelf-0.8.13 expat-2.2.0 ncurses-6.0

    binutils      : binutils-2.28

    Ccompilers    : gcc  |  6.3.0

   Languages      : C,C++

    Clibrary      : glibc-2.25 (threads: nptl)

Tools          : duma-2_5_15 gdb-7.12.1ltrace-0.7.3 strace-4.16

四.配置并编译

./ct-ng menuconfig 配置

./ct-ng build 在编译的过程中中间文件会以隐藏文件的形式出现,目录为.build,编译命令是以非root用户的权限执行的。

猜你喜欢

转载自blog.csdn.net/lieye_leaves/article/details/80056752