当前位置:文档之家› 交叉编译工具链的安装配置

交叉编译工具链的安装配置

交叉工具链的生成/uid-9185047-id-3158569.html软件平台:ubuntu 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 /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-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/下的p cp到/etc/bash_completion.d配置安装目录为/home/s3c2410/crosstool/crosstool-install注:有的没安装gperf,无法生成makefile,要先安装gperfsudo ./configure --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-linu x-gnueabi/* ./sudo cp crosstool.config .config --把crosstool-config --当作默认的配置文件sudo /home/crosstool/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,我写的4Target options --->(armv4t) Architecture level(arm9tdmi) Emit assembly for CPU(arm920t) Tune for CPU(vfp) Use specific FPUToolchain options --->(unknown) Tuple's vendor string这里可以设置个性化,不填就是unknow,可以设置自己的个性名如填“doc”,这样产生的编译器前缀就是:arm-doc-linux-gnueabi-Operating System --->Linux kernel version (3.6.3) --->linux-3.6.11.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无法直接修改的,可以在最后手动从 .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 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.bz2 PPL version (0.11.2) --->ppl-0.11.2.tar.bz2/ ppl-1.0.tar.bz2/ ppl-1.0.tar.xz CLooG/ppl version (0.15.11) --->cloog-ppl-0.15.11.tar.gzMPC version(0.9)--->mpc-0.9.tar.gz/ mpc-1.0.1.tar.gz/ mpc-2.4.1.tar.gz libelf version (0.8.13) --->libelf-0.8.13.tar.gz保存退出。

vi .config前面无法在设置窗口中设置java和fortran的,用“#”将所有带JA V A 和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、编译交叉工具链编译的时候会自动下载下面的软件包,也可以自己先下载好放在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.bz2 glibc-2.15.tar.bz2/glibc-2.14.1.tar.bz2/glibc-linuxthreads-2.1.2.tar.gz glibc-2.1.2.tar.gz/ glibc -2.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.bz2mpfr-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-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/crosstool/crosstool-install/bin/ct-ng build --开始编译expat文件的问题,由于事先已经下载的相关文件存放在资源目录中,所以,应该是下载文件问题。

因此,将资源目录下的该文件删除,让安装软件自己去下载。

root@ubuntu:/home/sdust/crosstool/crosstool-build#root@ubuntu:/home/sdust/crosstool/crosstool-build# rm ../src5/exp* root@ubuntu:/home/sdust/crosstool/crosstool-build# ls ../src5/e* [ERROR] configure: error: expat is missing or unusable[ERROR] make[2]: *** [configure-gdb] Error 1[ALL ] make[2]: Leaving directory `/home/andy/crosstool-ng/build13/.build/mipsel-ls2f-linux-gnu/build/build-gdb-cross' [ERROR] make[1]: *** [all] Error 2[ALL ] make[1]: Leaving directory`/home/andy/crosstool-ng/build13/.build/mipsel-ls2f-linux-gnu/build/build-gdb-cross' [ERROR][ERROR] >>[ERROR] >> Error happened in: main[scripts/crosstool-NG.sh][ERROR] >>[ERROR] >> For more info on this error, look at the file: 'build.log'[ERROR] >> There is a list of known issues, some with workarounds, in:[ERROR] >> '/home/andy/crosstool-ng/install/share/doc/ct-ng-1.13.0/B - Known issues.txt'[ERROR][ERROR] Build failed in step 'Extracting and patching toolchain components'一开始以为是没有装expat,sudo apt-get install expat后发现该软件已经装好,到/usr/lib目录下并没有发现libexpat.so文件,到网上查了下也没有相关的信息。

相关主题