设为首页 加入收藏

TOP

Ubuntu 10.04下ARM GCC交叉编译器制作
2014-11-24 03:06:13 来源: 作者: 【 】 浏览:2
Tags:Ubuntu 10.04 ARM GCC 交叉 编译器 制作

准备工作:


1.下载制作交叉编译环境的工具:crosstool(crosstool-0.43.tar.gz)


使用命令行下载


wget http://www.kegel.com/crosstool/crosstool-0.43.tar.gz


2.下载编译过程需要用到的源代码:


binutils-2.15.tar.bz2


gcc-3.4.5.tar.bz2


glibc-2.3.6.tar.bz2


glibc-linuxthreads-2.3.6.tar.bz2


linux-2.6.8.tar.bz2


linux-libc-headers-2.6.12.0.tar.bz2


说明:具体版本号可以有一些不同,后面说讲如何设置。


以上七个软件建议放在同一目录下,如~/linux/download 目录下。


3.编译过程需要用到以下几个软件,系统本身没有安装,可以运行安装命令提前做好,因为编译一次至少要花半个小时,如果因为依赖软件没有安装中途会报错退出,只有从头再来,那样很浪费时间的。


sudo apt-get install bison flex build-essential patch libncurses5-dev


具体工作步骤:


1、修改系统配置


1.1 将GCC版本设置为4.1


Ubuntu 10.04 默认安装的 gcc 版本为4.4,这个版本对于语法要求较高,编译会出错,目前不宜选用,于是选择了gcc-4.1,但并不需要卸载gcc-4.4。


sudo apt-get install gcc-4.1


sudo rm /usr/bin/gcc (删除GCC,它只是个到gcc-4.3.2的软链接文件)


sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc (建立GCC到gcc-4.1的软链接)


1.2、修改sh版本


如果运行


ls -la /bin/sh


看到链接的是 dash ,则请运行以下命令


sudo dpkg-reconfigure dash


选择 no 以删除 dash


此处如果不改好的话,编译时会出现错误


2.解压软件包,并进入该目录,查看重要的脚本文件。


$cd downloads


$tar –zxvf crosstool-0.43.tar.gz


$cd crosstool-0.43


3.修改demo-arm-softfloat.sh


$vim demo-arm-softfloat.sh


修改下面两句


TARBALLS_DIR=$HOME/downloads //表示下载的源码的存放目录


RESULT_TOP=/opt/crosstools //表示生成的工具链的存放目录


为:


TARBALLS_DIR=/home/linux/downloads(源码存放目录)


RESULT_TOP=/home/linux/crosstools(生成工具链目录)


4.修改 gcc-3.4.5-glibc-2.3.6.dat


$ vim gcc-3.4.5-glibc-2.3.6.dat


修改内容为:


BINUTILS_DIR=binutils-2.15


GCC_DIR=gcc-3.4.5


GLIBC_DIR=glibc-2.3.6


LINUX_DIR=linux-2.6.26.5


LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0


GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6


5.$ ./ demo-arm-softfloat.sh


这个过程较长(半个小时左右)


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇JAVA insert() 插入字符串 下一篇Java Hibernate 使用中的问题及解..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C++ 语言社区-CSDN社 (2025-12-24 17:48:24)
·CSDN问答专区社区-CS (2025-12-24 17:48:22)
·C++中`a = b = c`与` (2025-12-24 17:48:19)
·C语言结构体怎么直接 (2025-12-24 17:19:44)
·为什么指针作为c语言 (2025-12-24 17:19:41)