重建freescale 4.6.2 multilib toolchain
1. 环境准备,ubuntu 10.04 LTS,也可以使用ubuntu 12.04,10.04的结果更加接近
2. 安装必要的软件,crosstool编译的时候需要的就不说了,容易漏的是msgfmt,可以通过下面的命令安装
sudo apt-get install gettext
3. 创建工作目录,并且获取crosstool-ng
sudo mkdir /work
sudo chown you:yourgroup /work
cd /work
git clone git@github.com:secularbird/fsl_crosstoolng.git build
4. 编译和安装crosstool-ng
cd build
./configure --local
make
make install
5. 开始编译toolchain,开玩笑的,还编不了,先通过它下载点必要的代码
cp default_configs/linaro_2011..config .config
./ct-ng build
运行到解压代码的时候就可以停止了,中间有些下载找不到,需要你到网上找了对应的下下来
6. 创建下中间目录,用来替换5中下载的,但是版本对不上的
mkdir /work/source
cd /work/source
# 获取binutils
git clone http://git.linaro.org/toolchain/binutils-gdb.git binutils
cd binutils
git checkout 3f26b7e8cb3d1e545a1461ded51f24259b1795e7
cd ..
# 获取gcc编译器
wget -c https://launchpad.net/gcc-linaro/4.6/4.6-2011.07/+download/gcc-linaro-4.6-2011.07.tar.bz2
tar xf gcc-linaro-4.6-2011.07.tar.bz2
mv gcc-linaro-4.6-2001.07. gcc
# 获取glibc
git clone https://git.linaro.org/toolchain/glibc.git
cd glibc
git checkout 943515f05cdbc1463bb06c9adbd3dcee5c1a7f57
cd ..
#获取glibc-ports
git clone git://sourceware.org/git/glibc-ports.git
cd glibc-ports
git checkout 4f32a56ebbf9936a4990f1bcdeab7afcec8f5322
cd ..
#获取cortex-strings
git clone http://git.linaro.org/toolchain/cortex-strings.git
cd cortex-strings
git checkout d5fda23377842a6bc0b22f502af3db43b5e5475d
7. 创建对应的软连接
cd /work/build/.build/src
rm --rf binutils-2.21 gcc-linaro-4.6-2011.06- glibc-2.13
ln -sf /work/source/binutils binutils-2.21
ln -sf /work/source/gcc gcc-linaro-4.6-2011.06-
ln -sf /work/source/glibc glibc-2.13
cd /work/source/glibc
ln -sf /work/source/glibc-ports ports
8. 准备cortex-string
cd /work/source/cortex-strings
./autogen.sh
./configure --with-cpu=armv7-a --with-neon
make add-on tar xf cortex-strings.tar
mv cortex-strings /work/source/glibc/
9. 打patch
cd /work/source/gcc/
patch -p1 -R< /work/build/multilib_patches/-linaro-gcc-multilib.patch cd /work/source/glibc/
patch -p1 < /work/build/multilib_patches/-glibc-multilib.patch cd /work/source/glibc/cortex-strings
patch -p1 < /work/build/multilib_patches/-glibc-cortex-strings.patch cd /work/source/binutils
rm -rf sim gdb readline
10. 开始编译
./ct-ng build
cd /work
chmod u+w fsl-linaro-toolchain-2.13 -R
cd fsl-linaro-toolchain-2.13
/work/build/multilib/copylibs.sh
P.S.
fix for CVE-2015-7547: Critical Vulnerability in glibc getaddrinfo:
https://anonscm.debian.org/cgit/pkg-glibc/glibc.git/plain/debian/patches/any/local-CVE-2015-7547.diff?id=bdcbf352ebee7cfb38b2bcafcb77fe9650d927e0
重建freescale 4.6.2 multilib toolchain的更多相关文章
- UNICODE本地编译freescale的i.MX6Q的android4.2.2&android4.4.2 && 全志a80的步骤x1
20151031本地编译freescale的i.MX6Q的android4.2.2&android4.4.2 && 全志a80的步骤x1 2015/10/31 15:07 开始 ...
- 通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流程[下]:管道是如何构建起来的?
在<中篇>中,我们对管道的构成以及它对请求的处理流程进行了详细介绍,接下来我们需要了解的是这样一个管道是如何被构建起来的.总的来说,管道由一个服务器和一个HttpApplication构成 ...
- [异常解决] How to build a gcc toolchain for nRF51 on linux (very detailed!!!)
1.Install gcc-arm-none-eabi https://devzone.nordicsemi.com/tutorials/7/This link shows that developm ...
- SQL Server 2014新特性:分区索引重建
<single_partition_rebuild_index_option> ::= { SORT_IN_TEMPDB = { ON | OFF } | MAXDOP = m ...
- Oracle索引重建
一.前言 Oracle建议对于索引深度超过4级以及已删除的索引条目至少占有现有索引条目总数的20% 这2种情形下需要重建索引.有人持不同观点,就是强烈建议不要定期重建索引.索引重建是一个争论不休被不断 ...
- mdadm设定RAID磁盘阵列,且当分区故障后如何重建
首先,fdisk建立不同分区,且设为fd格式 其次, mdadm -C md0 -a yes -l -n /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sd ...
- pcl曲面重建模块-poisson重建算法示例
poisson曲面重建算法 pcl-1.8测试通过 #include <iostream> #include <pcl/common/common.h> #include &l ...
- [LeetCode] Sequence Reconstruction 序列重建
Check whether the original sequence org can be uniquely reconstructed from the sequences in seqs. Th ...
- [LeetCode] Reconstruct Original Digits from English 从英文中重建数字
Given a non-empty string containing an out-of-order English representation of digits 0-9, output the ...
随机推荐
- 安装webpack
首先要安装 Node.js, Node.js 自带了软件包管理器 npm,Webpack 需要 Node.js v0.6 以上支持,建议使用最新版 Node.js. 用 npm 安装 Webpack: ...
- Thinkphp 自定义404页面
一. 手册->调试->异常处理 在公共config.php 中加入: 'TMPL_EXCEPTION_FILE' => '/Public/404.html', //访问不存在的跳转 ...
- 忘记Oracle System和Sys密码的解决方法
忘记Oracle System和Sys密码的方法 :Oracle提供两种验证方式,一种是OS验证,另一种密码文件验证方式,如果是第一种方式用以下方法修改密码: sqlplus /nolog; conn ...
- 横向排列两个多个div盒子的方法(CSS浮动清除float-clear/inline)/办法
最近在做一个div css切割,昨晚发现了长期以来一直无记录下来的问题!关于兼容IE跟FF的float属性.趁现在还清醒赶紧记下笔记先:一.并排在一行的两个div样式有这种情况:ie或者ff下对于子d ...
- http之206状态码
206状态码, 大概就是浏览器先不下载要下载的文件,而是弹窗告诉用户,该文件是什么,有多大.由用户自行决定是否下载. 在html中,加一个a标签,a标签的地址是一个文件,就可实现该效果. 具体可参考下 ...
- Xmodem通信协议实例
在工作时串口通信的过程中需要传输文件,这里就就需要使用通信协议,此时选择的是Xmodem协议作简要研究 1.什么是Xmodem协议 Xmodem协议是串口通信中广泛使用到的异步文件传输协议.以128字 ...
- 关于HTML标签中的一些容易忘记常用样式属性
样式说明--样式: margin, margin-top/left/bottom/right -- 外边距; padding, padding-top/left/botton/right -- 内边距 ...
- Nunit 2.6 无法调试.Net Framework 4.0
<configuration> <!-- The GUI only runs under .NET 2.0 or higher. The useLegacyV2RuntimeActi ...
- L2-005. 集合相似度(set使用)
L2-005. 集合相似度 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定两个整数集合,它们的相似度定义为:Nc/Nt*1 ...
- How to recover destroyed ZFS storage pools
root@sol11ai:~# zpool status tank pool: tank state: ONLINE scan: resilvered 91K in 0h0m with 0 e ...