ttyLinux 源代码编译--armv5交叉编译环境的建立过程

 

ttyLinux 源代码编译 armv5交叉编译环境的建立过程

下载ttylinux-src-mp8.tar.bz2, 并解压到/usr/src后得到目录结构如下:
 ttylinux-src-mp8
      -- ttylinux-src-mp8
      -- xbuildtool-0.1

其中的xbuildtool-0.1就是建立交叉环境的工作目录.


cd xbuildtool-0.1然后执行  
make setup
生成配置

这样会生成 xbt-build-env.sh和xbt-build-config.sh

接成执行make xxxx, xxx为要生成的目标系统。以armv5tej-2.9-qnueabi为例

 

发现编译中出现以下问题,并解决


1.下载binutils-2.19.tar.gz2失败,因为网络上的文件不存在,解决办法:
 修改scripts/binutils/binutils-versions.sh,修改2.19的URL为:
 _BINUTILS_URL[0]="http://mirrors.usc.edu/pub/gnu/binutils .....


2.编译binutils-2.19出现警告性错误unused-but-set-variable,变量定义但没有使用,解决方法:
 修改scripts/binutils/binutils-methods.sh,中的make命令行参数增加CPPFLAGS参数如下:
  CPPFLAGS=" -Werror -Wno-unused-but-set-variable" || exit 1


3.编译过程中出现一些错误,大致上是因为没有安装相应的包引起的,可以通过查看相应的编译日志查找问题,
 编译日志所目录:../cross-tools-2.9-2.6.34.6/armv5tej-2.9-generic-linux-gnueabi
 我发现缺少的包如下:
 apt-get install gawk

 apt-get install autoconf

 atp-get install bison

 


4.编译脚本分析.


 核心编译脚本在scripts/build-toolchain.sh,环境变量的脚本为:scripts/xbt-build-env.sh.
 其中会先调用xbt_get_file从scripts/xxx/xxx-version.sh中定义的参数中下载相文件。
 所有文件下载完成后都保存到pkg-src目录中。
 接着对所有文件进行md5检验,检验结果应该和配置中的一致才能继续。
 然后分别编译每个包,编译脚本在scripts/xxx/xxx-methods.sh.

 编译时的生成的中间文件在build目录下,同时如果源代码中有补丁,会自动调用patches上的相应文件进行更新。
 编译后的结果在../cross-tools-2.9-2.6.34.6目录下。

 如果编译过程中断,原来的脚本后要求删除编译目录后重新编译,不过也可以手工修改build-toolchain.sh,跳过某一个编译过程,直到编译完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值