网上许多都是在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
- 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 —>
2、修正穿插编译器针对的构架。
Target options
3、添加编译时的并行进程数,以添加运转功率,加速编译。
Paths and misc options
#数值不宜过大,应该为CPU数量的两倍。因为我的CPU是双核的,所以我填了4
4、封闭java编译器,防止gcj犯错
C compiler
5、一些个性化的设置
Toolchain options
Toolchain options
C compiler
五、为加速速度,依据装备自行下载相应的软件包
留意:尽管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