crosstool-ng创建交叉工具链for S3C2440

之前一直都是用crosstool来构建交叉编译器的.

这回百度了下结果发现一个新版的crosstool-ng.

crosstool-ng提供了menuconfig来配置交叉编译器.

LET'S GO.




最新版本是1.9.3  暂无PATCH

虚拟机环境:CentOS 6.4(kernel version 2.6.32.358) bridged




相关目录的安排
~/tool/src   (保存crosstool-ng创建编译器时所需的各种包)
      /crosstool-ng-1.9.3               ( 2.tar -jxvf  crosstool-ng*.tar.bz2 -C ~/tool/)放置解压出来的crosstool-ng
      /crosstool-ng                      crosstool-ng的安装目录
      /build                             编译交叉编译器时的临时工作目录

/opt/x-tool             交叉编译器的安装目录

                          
2.tar -jxvf  crosstool-ng*.tar.bz2 -C ~/tool/

     
3.cd ~/tool/crosstool-ng-1.9.3

   .configure --prefix=~/tool/crosstool-ng
   

4.make install


(*).PATH=$PATH:/home/XXX/tool/crosstool-ng/bin

  可以设置下环境变量方便之后的操作.
不过,我的电脑上有点问题.
添加环境变量之后,sudo ct-ng XXXX就有问题.
知道解决方法的可以告诉我一下。

此外,用绝对路径容易讲清楚


5.cp ~/tool/crosstool-ng-1.9.3/samples/arm-unknown-linux-gnueabi/crosstool.config    ~/tool/build/.config

6.cd ~/tool/build

7.sudo ~/tool/crosstool-ng/bin/ct-ng menuconfig

需要ncurse库的支持

(我的centos是minimal版本.之后,只用了yum groupinstall “development tool”,
所以刚开始出现了点问题.

试着安装ncurse , yum install  结果显示已经安装了ncurses-5.7.3-*.el6.i686
yum search 之后 发现还有个ncurses-dev-5.7.3-*.el6.i686  安装之后就Ok了)

8.交叉编译器的配置
 

前面第5点已经拷贝了适合的配置文件,所以这里简单修改即可.

PATHS  AND MISC OPTIONS ==>*****PATHS*******
                                                   LOCAL TARBALL DIR:~/tool/src
WORKING DIR: ~/tool/build          
PREFIX DIR:/opt/x-tool    
 
                        ===>*****BUILD BEHAVIOR**** 
                                                   number of parallel jobs: CPU核心数*2(合理设置下.整个编译时间有一两个小时)

TARGET OPTIONS===>***TARGET OPTIMISATIONS***
                                               Architecture Level:armv4t
                                               Emit assembly for cpu:arm9tdmi
                                               Tune for cpu:arm920t
 
Toolchain OPTIONS===>***TARGET OPTIMISATIONS***==>tuple' vendor string:XXXXX(eg.S3C2440  Whatever U like)

SAVE.

9.vi ~/tool/build/.config
3处修改下你自己的版本号

CT_KERNEL_VERSION=
CT_KERNEL_V_2_6_XX=y  注意删除#
CT_LIB_GLIBC_MIN_KERNEL=


10.sudo ~/tool/crosstool-ng/bin/ct-ng build(tip:根据.CONFIG文件中的软件版本号,直接从网上下载好所有的package  见本文末尾)


11.vi /etc/profile 

添加:PATH=$PATH:/opt/x-tool/bin

reboot生效 OR  export



********************************************************************************
SOMETHING WRONG:

@[ERROR]  Missing: '-unknown-linux-gnu-gcj' or '-unknown-linux-gnu-gcj' or 'gcj' : either needed!
     yum search gcj 然后把相关的安装下

@expat以及strace解压出错:
     查看/opt/x-tool/build.log  提示not in gzip format  OR not in bzip2 format 
     file 自动下载下来的包 显示为HTML.
     根据版本号,从网上直接下载过来,替换/opt/tool/src中的.同时删除 /tool/build/.XXX.extract相关的.

@[ERROR]    Build failed in step 'Installing native gdb'
     yum install gdb-static



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值