您的位置 首页 ADAS

在CentOS下用cross-ng树立arm-linux穿插编译环境

网上很多都是在Ubuntu下用cross-ng建立arm-linux交叉编译工具的文章,而CentOS下却很难寻觅。在这里记录了自己的建造过程,以供广大网友参

网上许多都是在Ubuntu下用cross-ng树立arm-linux穿插编译东西的文章,而CentOS下却很难寻找。在这儿记录了自己的制作进程,以供广阔网友参看。

一、装备环境

1、操作系统:CentOS5.5

2、源代码包:crosstool-ng-1.9.0.tar.bz2

二、装置crosstool-ng依靠软件包

libncurses5-dev

bison

flex

texinfo

libtool

patch

lzma

cvs

gawk

glibc-static

gcc-java

gcc-c++

#在CentOS Shell下,运用指令 $yum install xxx 顺次装置。

cvsd #手动装置

temcap #手动装置

  • tar zxvf termcap-1.3.1.tar.gz
  • cd termcap-1.3.1
  • ./configure –prefix=/usr
  • make
  • make install

autoconf#手动装置

#autoconf装置成功之后,再来装置automake

  • tar -jxvf autoconf-2.66.tar.bz2
  • cd autoconf-2.66
  • ./configure
  • make
  • make install

automake#手动装置

#留意:CentOS5.5下的automake版别太低,需求 1.10或以上版别

  • tar -jxvf automake-1.10.2.tar.bz2
  • cd automake-1.10.2
  • ./configure
  • make
  • mak install

三、装备、编译和装置

  • mkdir ~/crosstool
  • cd ~/crosstool
  • mkdir src
  • binutils-2.19.1.tar.bz2
    glibc-2.9.tar.gz
    dmalloc-5.5.2.tgz
    glibc-ports-2.9.tar.bz2
    mpfr-2.4.2.tar.bz2
    duma_2_5_15.tar.gz
    gmp-4.3.3.tar.bz2
    ncurses-5.7.tar.gz
    ecj-latest.jar
    libelf-0.8.13.tar.gz
    busybox.net/index.py/trunk/buildroot/toolchain/sstrip//sstrip.c?view=co%27″ target=”_blank”>sstrip.c
    gcc-4.3.2.tar.bz2
    linux-2.6.33.7.tar.bz2
    strace-4.5.19.tar.bz2
    gdb-6.8.tar.bz2
    ltrace_0.5.3.orig.tar.gz
    cp xxx ./src #下载并复制以上代码包到~/crosstool/src
  • cp ~/crosstool-ng-1.9.0.tar.bz2 ./
  • mkdir crosstool-build#编译新穿插编译器的作业目录
  • mkdir crosstool-install #装置目录
  • tar xjvf crosstool-ng-1.9.0.tar.bz2 #解压文件
  • cd crosstool-ng-1.9.0
  • patch -p1 < <补丁文件> #给crosstool-ng打补丁(如果有)
  • ./configure –prefix=~/crosstool/crosstool-install #装备crosstool-ng
  • make#编译crosstool-ng
  • make install #装置crosstool-ng
  • echo “PATH=$PATH:~/crosstool/tools/bin” >> ~/.bashrc # 为后边调用ct-ng指令添加环境变量
  • $ source ~/.bashrc

四、装备穿插编译东西

  • cd ~/crosstool/crosstool-build/
  • cp ../crosstool-ng-1.9.0/samples/arm-unknown-linux-gnueabi /* ./#复制默许装备文件到作业目录
  • mv crosstool.config .config#修正文件名
  • ../crosstool-install/bin/ct-ng menuconfig

此刻会呈现crosstool-ng的装备窗口,针对armv4t系统架构,开端对其进行修正装备:

1、已下载好的源码包途径和穿插编译器的装置途径。

Paths and misc options —>

(/home/centos/crosstool/src) Local tarballs directory #保存源代码包途径

(/home/centos/crosstool/tools) Prefix directory#穿插编译器的装置途径

2、修正穿插编译器针对的构架。
Target options —>
*** Target optimisations ***
(armv4t) Architecture level
(arm9tdmi) Emit assembly for CPU
(arm920t) Tune for CPU

3、添加编译时的并行进程数,以添加运转功率,加速编译。
Paths and misc options —>
*** Build behavior ***
(4) Number of parallel jobs

#数值不宜过大,应该为CPU数量的两倍。因为我的CPU是双核的,所以我填了4

4、封闭java编译器,防止gcj犯错
C compiler —>
*** Additional supported languages: ***
[N] Java

5、一些个性化的设置
Toolchain options —>
*** Tuple completion and aliasing ***
(centos) Tuples vendor string #发生的编译器前缀:arm-centos-linux-gnueabi-
#这个前缀太长,crosstool-ng能够在装备的时分设置别号
Toolchain options —>
*** Tuple completion and aliasing ***
(arm-linux) Tuples alias
#这儿设置别号为arm-linux,这样今后经过arm-linux-gcc就能够调用arm-centos-linux-gnueabi-gcc了

C compiler —>
(crosstool-NG-${CT_VERSION}-centos) gcc ID string
#接下来保存就能够了

五、为加速速度,依据装备自行下载相应的软件包

留意:尽管crosstool-ng主动下载相应软件包,可是速度比较慢。咱们不防在履行ct-ng build指令之前,把相应的软件包预先下载好,复制到装备时指定的文件夹,这儿是~/crosstool/src。检查crosstool-build目录下“.config”文件就可知道需求哪些软件包及其版别
六、编译东西链

../crosstool-install/bin/ct-ng build

#接下来,便是绵长的等候。crosstool-ng会主动下载相应的包,内核文件,然后解压,装备,编译,链接

七、编译好后的穿插编译器
编译器坐落:${你装备时确认的途径}/arm-centos-linux-gnueabi/bin
库文件坐落:${你装备时确认的途径}/arm-centos-linux-gnueabi/arm-centos-linux-gnueabi/lib

八、测验一下编译是否成功:
$ arm-centos-linux-gnueabi-gcc -v

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/263173.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部