利用crosstools-ng编译自己的交叉工具链
来源:互联网 发布:js 设置input的只读 编辑:程序博客网 时间:2024/06/05 19:43
crosstools-ng下载地址
http://ymorin.is-a-geek.org/download/crosstool-ng/
同时每个版本都有自己对应的补丁,补丁下载地址
http://ymorin.is-a-geek.org/download/crosstool-ng/01-fixes/
编译环境:ubuntu10.10 + crosstools-ng-1.9.3
目标平台:armV7 cortex-A8 FS-S5PC100
一、配置ubuntu编译环境
编译源码前,必须先安装下面的软件:
sudo apt-get install sed bash dpkg-dev bison flex texinfo automake m4 libtool websvn tar gzip bzip2 lzma patch gcj cvs cvsd gawk -y
二、配置crosstools-ng-1.9.3
1.先建立一个工作目录
mkdir ~/mytool
2.将下载的crosstools-ng-1.9.3.tar.bz2解压到mytool目录下
tar xvf crosstools-ng-1.9.3.tar.bz2 /home/linux/mytool/
3.进入mytool目录建立编译交叉编译器的工作目录crosstool-build和交叉编译器的安装目录crosstool-install
cd ~/mytool
mkdir crosstool-build
mkdir crosstool-install
4.cd crosstools-ng-1.9.3
如果有补丁打上补丁,我编译时还没有1.9.3的补丁。
./configure --prefix=/home/linux/mytool/crosstool-install //配置crosstool-ng的安装路径。
make
sudo make install //这一步的时,可能会出现下面的提示信息:For auto-completion, do not forget to install 'ct-ng.comp' into your bash completion directory (usually /etc/bash_completion.d) .无需理会
echo "PATH=$PATH:/home/linux/mytool/crosstool-install/bin">>~/.bashrc //为后面调用ct-ng命令增加环境变量
./ct-ng help
这时会打印出一段信息,说明安装成功了。
三、配置自己的交叉编译链
cd ~/mytool/crosstool-build
cp ../crosstool-ng-1.9.3/samples/arm-unknown-linux-gnueabi /* ./ //拷贝默认的配置文件到编译的工作目录。
mv crosstool.config .config
cd ../crosstool-install/bin/
./ct-ng menuconfig //进入menuconfig进行配置
Paths and misc options --->
......
(/home/linux/mytool/crosstool/src) Local tarballs directory # 指定制作编译器所需要的源码包的下载存放,可以修改成任意位置,请注意权限。现在指定到~/src下。
......
(/home/linux/mytoo/x-tools/${CT_TARGET}) Prefix directory # 制作好的编译器所放置的目录 //建议保留${CT_TARGET},我也不知道原因 通过实际操作,如果不加的话,x-tools目录下的文件会很乱,导致后面添加交叉编译器环境变量的时候,会加不进去。很郁闷 。
[ ] Forbid downloads
[*] Force downloads // 如果网络还可以的话 建议此处这样设置,因为如果事先下载好源码包的话 会因为版本 格式不匹配 而编译失败。亲身经历过的。
arget options --->
Target Architecture (arm) ---> # 注意看这项是不是ARM平台
......
Floating point: (software) ---> # 对于很多ARM架构CPU来说是不支持硬浮点运算的,所以选择软件方式有更好的兼容性
......
Toolchain options --->
.....
(XXX) Tuple's vendor string # 这里可以修改成你自己的个性化名称,最后会生成形如arm-yourname-linux-gnueabi这样的编译器前缀
四、自动下载和编译
./ct-ng build
速度要根据网络和机器的配置而定,我单核台式机,10M网通宽带花了两个小时
五、测试交叉编译器
cd ~/mytool/x-tool/arm-youname-linux-gnueabi/bin/
./arm-youname-linux-gnueabi-gcc -v
这时会打印出一段信息,说明编译成功了。
六 增加环境变量
export PATH=$PATH:/home/linux/x-tools/arm-youname-linux-gnueabi/binsource ~./bashrc 工作结束。参考文章:http://blog.csdn.net/whw05567013856152985/article/details/7334754
- 利用crosstools-ng编译自己的交叉工具链
- 使用crosstools-ng编译S3C6410的交叉编译工具链
- 用crosstool-ng构建自己的交叉编译工具链
- Linux:crosstool-ng制作自己的交叉编译工具
- 利用crosstool-ng-1.14.0制作交叉编译工具链
- 用crosstool-ng建立自己的ARM交叉编译工具链 (适用于S3C6410以及其它处理器)
- 用crosstool-ng建立自己的ARM交叉编译工具链 (适用于S3C6410以及其它处理器)
- 用crosstool-ng建立自己的ARM交叉编译工具链
- CrossTools交叉编绎工具!
- Crosstool-ng制作交叉编译工具链
- Crosstool-ng制作交叉编译工具链
- Crosstool-ng制作交叉编译工具链
- Crosstool-ng制作交叉编译工具链
- Crosstool-ng制作交叉编译工具链
- 利用Crosstool-ng 1.3.3 生成powerpc交叉编译工具链
- ubuntu 利用crosstool-ng-1.8.1制作交叉编译工具链
- Crosstools-ng
- Ubuntu10.10下利用crosstool-ng构建交叉编译链
- 数据结构之线性表
- 利用JS的常见攻击
- 使用数组设置小车运行的轨迹(方便)
- OpenWrt取消strip或者重新设置strip参数的方法
- android EditTex的实时保存
- 利用crosstools-ng编译自己的交叉工具链
- c# ToString 格式化数字
- 《寒战》下载
- 决心
- 爱心牌毛衣,奇葩了
- iOS源码学习-导航条加阴影,自定义导航条的背景图片
- java.lang.NoSuchFieldError: deferredExpression解决
- extern
- 让Windows Server 2008 + IIS 7+ ASP.NET 支持10万个同时请求