《交叉编译工具链的安装配置》由会员分享,可在线阅读,更多相关《交叉编译工具链的安装配置(10页珍藏版)》请在金锄头文库上搜索。
1、 交叉工具链的生成http:/ 10.10主机编译器: gcc 4.5.1硬件平台:s3c24101、准备环境sudo apt-get install bison flex texinfo automake libtool cvs patch libncurses5-dev aria2 curl g+ subversion gawk cvsd expat gperf libexpat-dev注:有的没安装,第4步无法生成makefile,要先安装gperf2、下载crosstool-ng软件包crosstool-ng-1.17.0.tar.bz23、相应目录的建立sudo mkdir -p /
2、usr/local/armsudo chmod 777 /usr/local/arm / 将arm目录权限设置为777cd /usr/local/armmkdir 4.7.2sudo mkdir -p /home/crosstoolcd /home/s3c2410/crosstoolsudo mkdir crosstool-build crosstool-install src-4.7.2(编译目录、安装目录、 目标源码目录)4、安装crosstool-ngcp crosstool-ng-1.17.0.tar.bz2 /home/s3c2410/crosstool/解压crosstool-ng
3、-1.17.0.tar.bz2,tar -xvf crosstool-ng-1.17.0.tar.bz2 进入目录,进行配置:cd /home/s3c2410/crosstool/crosstool-ng-1.17.0将/home/s3c2410/crosstool/crosstool-install/lib/ct-ng.1.17.0/下的ct-p cp到/etc/bash_completion.d配置安装目录为/home/s3c2410/crosstool/crosstool-install注:有的没安装gperf,无法生成makefile,要先安装gperfsudo ./configure
4、 -prefix=/home/crosstool/crosstool-installsudo make -编译sudo make install -安装5、配置编译的交叉编译工具链cd /home/s3c2410/crosstool/crosstool-build -进入编译目录cp /home/s3c2410/crosstool/crosstool-ng-1.17.0/samples/arm-unknown-linux-gnueabi/* ./sudo cp crosstool.config .config -把crosstool-config -当作默认的配置文件sudo /home/cr
5、osstool/crosstool-install/bin/ct-ng menuconfig -图形界面进行配置,若该句无法执行可能是终端窗口太小弹出以下菜单,此菜单主要用于交叉编译工具链的环境配置。Paths and misc options -(/home/crosstool/src-4.7.2) Local tarballs directory -目标源码目录(/usr/local/arm/4.7.2) Prefix directory -最后生成的交叉编译工具链存放的目录(2) Number of parallel jobs -主机是双核处理器的可以选2 另一说双核写4,我写的4Tar
6、get options -(armv4t) Architecture level(arm9tdmi) Emit assembly for CPU(arm920t) Tune for CPU(vfp) Use specific FPUToolchain options -(unknown) Tuples vendor string这里可以设置个性化,不填就是unknow,可以设置自己的个性名 如填“doc”,这样产生的编译器前缀就是:arm-doc-linux-gnueabi-Operating System -Linux kernel version (3.6.3) - linux-3.6.1
7、1.tar.xz/ linux-3.6.3.tar.xz/linux-3.7.2.tar.bz2下面这些与目标源码有关:Binary utilities -binutils version (2.21.1a) -binutils-2.21.1a.tar.bz2/binutils-2.21.1.tar.bz2/binutils-2.22.tar.bz2/ binutils-2.23.1.tar.bz2C compiler -gcc version (4.7.2) - gcc-4.7.2.tar.bz2/ gcc-4.5.2.tar.bz2 Fortran Java无法直接修改的,可以在最后手动从
8、 .config 中加“#”屏蔽C-library -glibc version (2.14.1) -glibc-2.15.tar.bz2/glibc-2.14.1.tar.bz2/ glibc-linuxthreads-2.1.2.tar.gzglibc-2.1.2.tar.gz/ glibc -2.16.0.tar.xzglibc-ports-2.16.0.tar.gz/ glibc-ports-2.14.1.tar.xz* Force unwind support (READ HELP!)Debug facilities - gdb - Companion libraries -GMP
9、version (5.0.2) -gmp-5.0.2.tar.bz2/ gmp-5.1.1.tar.bz2MPFR version (3.1.0) -mpfr-3.1.0.tar.xz/ mpfr-3.1.2.tar.xz/ mpfr-3.1.2.tar.bz2PPL version (0.11.2) - ppl-0.11.2.tar.bz2/ ppl-1.0.tar.bz2/ ppl-1.0.tar.xzCLooG/ppl version (0.15.11) -cloog-ppl-0.15.11.tar.gz MPC version(0.9)-mpc-0.9.tar.gz/ mpc-1.0.
10、1.tar.gz/ mpc-2.4.1.tar.gzlibelf version (0.8.13) -libelf-0.8.13.tar.gz保存退出。vi .config前面无法在设置窗口中设置java和fortran的,用“#”将所有带JAVA和FORTRAN的屏蔽在CT_MPFR=y后面增加一行CT_MPC=y在CT_MPFR_VERSION=3.1.0后面增加两行CT_MPC_V_0_8_13=yCT_MPC_VERSION=0.8.13保存退出。注:若编译失败再次用菜单图形化设置后,注意查看.config之前修改的内容是否还原了,最好在查看一次。6、编译交叉工具链编译的时候会自动下载
11、下面的软件包,也可以自己先下载好放在src-4.5.1目录下,这样编译的是时候就比较快了。linux-3.6.11.tar.xz/ linux-3.6.3.tar.xz/linux-3.7.2.tar.bz2binutils-2.21.1a.tar.bz2/ binutils-2.21.1.tar.bz2/binutils-2.22.tar.bz2/ binutils-2.23.1.tar.bz2glibc-2.15.tar.bz2/glibc-2.14.1.tar.bz2/ glibc-linuxthreads-2.1.2.tar.gzglibc-2.1.2.tar.gz/ glibc -2
12、.16.0.tar.xzglibc-ports-2.16.0.tar.gz/ glibc-ports-2.14.1.tar.xzlibelf-0.8.13.tar.gzgcc-4.7.2.tar.bz2 mpfr-3.1.0.tar.xz/ mpfr-3.1.2.tar.xz/ mpfr-3.1.2.tar.bz2gmp-5.0.2.tar.bz2/ gmp-5.1.1.tar.bz2mpc-0.9.tar.gz/ mpc-1.0.1.tar.gz/ mpc-2.4.1.tar.gzppl-0.11.2.tar.bz2/ ppl-1.0.tar.bz2/ ppl-1.0.tar.xzcloog
13、-ppl-0.15.11.tar.gz/没能自动下载成功的,解决方法:自己网上搜索下载后放到/home/s3c2410/crosstool/src-4.5.1下即可。duma_2_5_15.tar.gz/ duma_2_5_15.zipstrace-4.7.tar.bz2expat-2.1.0.tar.gzltrace_0.5.3.orig.tar.gz/ ltrace_0.3.10. tar.gzncurses-5.8.tar.gz/ ncurses-5.9.tar.gzdmalloc-5.5.2.tgz/ dmalloc-5.4.2.tgz在终端执行sudo /home/s3c2410/c
14、rosstool/crosstool-install/bin/ct-ng build -开始编译expat文件的问题,由于事先已经下载的相关文件存放在资源目录中,所以,应该是下载文件问题。因此,将资源目录下的该文件删除,让安装软件自己去下载。rootubuntu:/home/sdust/crosstool/crosstool-build# rootubuntu:/home/sdust/crosstool/crosstool-build# rm ./src5/exp*rootubuntu:/home/sdust/crosstool/crosstool-build# ls ./src5/e*ERROR configure: error: expat is missing or unusableERROR make2: * configure-gdb Error 1ALL make2: Leaving directory /home/andy/crosstool-ng/build13/.build/mipsel-ls2f-linux-gnu/build/build-gdb-crossERROR make1: * all Error 2ALL make1: Leaving dire