arm交叉编译环境的patch(gcc-4.2.1,glibc-2.6.1,binutils-2.18, little-endian)
来源:互联网 发布:淘宝虚拟店铺不能开了 编辑:程序博客网 时间:2024/05/21 17:16
不要使用root进行编译,根本就不行,而且很危险(会删除目标目录下的所有东西的)。
1)url: http://www.kegel.com/crosstool/,下载crosstool-0.43.tar.gz,解压缩。
2)给源代码打补丁:
$ cd crosstool-0.43 && patch -p1 < ../diff.txt
3)修改编译脚本:
$ vi latest-earm.sh
将倒数第三行的--nounpack去掉。由于调试的时候不希望每次都解压源代码。
TARBALLS_DIR=/var/ftp/incoming/linux/dev_tools/downloads #希望源代码保存的位置。crosstool会在指定的目录下进行查看,如果发现有源代码,是不会在网络上下载的,如果没有的话,会自动连接几个镜像网站进行尝试下载。我一般喜欢用个多线程的工具将源代码全都下载下来,放到一个目录中待以后使用。
RESULT_TOP=/opt/crosstool #生成的二进制文件的保存位置。
export TARBALLS_DIR RESULT_TOP #导出环境变量。
GCC_LANGUAGES="c,c++" # 支持的语言类型
export GCC_LANGUAGES # 导出
PARALLELMFLAGS=-j3 # 如果是个多核的cpu,改大一些,原来看过一个公式,好像是ncpu * 2 +1
export PARALLELMFLAGS # 导出
# Really, you should do the mkdir before running this,
# and chown /opt/crosstool to yourself so you don't need to run as root.
mkdir -p $RESULT_TOP #要确认你有权限网这个目录里面写东西,我是先用的root用户建了一个目录,改了一个所有权限。
# Build the toolchain. Takes a couple hours and a couple gigabytes.
eval `cat earm.dat gcc-4.2.1-glibc-2.6.1-tls.dat` sh all.sh --notest --nounpack # 第一次编译,去掉--nounpack,否则不能解压,我当初为了调试方便。 :)
# `cat earm.datgcc-4.2.1-glibc-2.6.1-tls.dat`这一部分表示我现在使用的是哪一个arm的配置,并且希望的gcc和glibc。我只是将这个gcc-4.2.1-glibc-2.6.1-tls.dat调试过去了,其他的还真没有试。
4)创建目标目录,同时修改所有者。
$ mkdir /opt/crosstool && sudo chown arm.arm /opt/crosstool
5)好了,可以运行脚本了
$./latest-earm.sh
等个八个小时就差不多了。
6)修改权限,以防误操作。
$cd /opt/crosstool && sudo chown root.root * -R #依个人设置而定
- arm交叉编译环境的patch(gcc-4.2.1,glibc-2.6.1,binutils-2.18, little-endian)
- GCC-4.80 binutils-2.23.2 glibc-2.17交叉编译ARM版本成功
- 建立交叉编译器 for arm (binutils-2.17 gcc-3.4.6 glibc-2.3.6)
- 编译arm-linux交叉编译工具链(fedora 10,binutils-2.16, gcc-3.4.4, glibc-2.3.6)
- 全手工制作arm-linux交叉编译工具链 (Gcc 4.2.1 + Glibc 2.6.1 + Linux 2.6.22.6)《二》 作者:Garfield Trump
- GCC的ARM交叉编译环境建立
- [转 载]建立交叉编译器 for arm (binutils-2.17 gcc-3.4.6 glibc-2.3.6)
- 建立arm-linux-gcc 4.1.1交叉编译环境
- 搭建交叉编译环境arm-linux-gcc-4.5.1
- Ubuntu11.04中搭建交叉编译环境(arm-linux-gcc-4.6.1版本)
- Ubuntu11.04中搭建交叉编译环境(arm-linux-gcc-4.6.1版本)
- Ubuntu11.04中搭建交叉编译环境(arm-linux-gcc-4.6.1版本)
- Ubuntu11.04中搭建交叉编译环境(arm-linux-gcc-4.6.1版本)
- 手工制作arm-linux-gcc交叉编译工具链Binutils时可能会出现的makeinfo编译错误
- 建立针对WinCE的GCC-ARM交叉编译环境
- 建立针对WinCE的GCC-ARM交叉编译环境
- [转载]建立针对WinCE的GCC-ARM交叉编译环境
- arm-linux-gcc交叉编译环境的配置
- Oracle数据库备份与恢复的三种方法
- 关于Mobile的全屏实现的一点心得
- Report.rdl创建以及部署过程
- Linux 下的两个脚本 安装服务
- 决定你是穷人还是富人
- arm交叉编译环境的patch(gcc-4.2.1,glibc-2.6.1,binutils-2.18, little-endian)
- ToolStripItemCollection类中Add方法的中的小BUG
- Subversion安装手记
- 使用js结合hta的权限编写的控制面板
- JQuery获取和设置Select选项
- 数字化矿山
- 收集的一些编程网站——持续更新中......
- 排序算法稳定性
- 开源PHP & Flash图表:Open Flash Chart