工作需要,最近在编译linux嵌入式内核时,需要安装arm-linux-gcc交叉编译,实际上,安装这个交叉编译器的难度没啥。不过,这里有些问题还是值得我去思考和记录下来的。

这个系统的上的编译器用的是是gcc,不过,是gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf.tar.xz,当初我就纳闷了,以前用的gcc编译器没带linaro呢,这个是什么意思?

  网上一查,才知道自己孤陋寡闻了:

  Linaro是一个非盈利性工程组织,旨在为ARM架构提供开源Linux软件和工具的移植和优化:包括GCC工具链,ARM电源管理,Linux内核,图形和多媒体接口开发等。

Linaro由ARM,FreeScale,IBM,Samsung,ST-Ericsson和TI六大IT公司在2010年6月共同创建,成员公司提供工程资源和基金。

Linaro并不是一种Linux发行版,该组织为发行版提供了成熟的软件和工具。它的目标是为厂商使用提供通用的软件和工具基础—使得开发基于Linux产品更加简单和快捷。Linaro的

软件专注于直接与芯片交互的领域例如多媒体,图形,电源管理,内核和启动。

  说白了,linaro就是个组织,是个伪arm架构提供开源工具和软件的的组织。的确还挺强大的,学习了。言归正传。

  开始安装这个编译器,具体步骤是比较简单的。

  A 下载相应的版本(注意,相比你要编译的内核,不要太新也不要低于gcc最低版本限制)

  B 在/usr/local下建立目录并把该加压缩的文件拷贝进去。

  C 在该文件的bin目录下执行./arm-linux-gnueabi-gcc -v 查看该版本是否在系统上可以使用,不过出现XXX 。。。 gcc version 5.5.0 (Linaro GCC 5.5-2017.10) 说明ok。

  D 最后使用sudo vim /etc/bash.bashrc 并在最后添加

#add linux-arm-gcc tools
export PATH=$PATH:/usr/local/arm-linux-tools/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/bin

  然后: source /etc/bash.bashrc 如果在任意目录下执行 arm-linux-gnueabi-gcc -v 显示和上面一样的,说明任督二脉打通了,赶紧开始你的编译内核代码之旅吧。

参考文档:

https://releases.linaro.org/components/toolchain/binaries/latest-5/arm-linux-gnueabihf/

https://www.linaro.org/downloads/

Ubuntu 16.04 安装 arm-linux-gcc 交叉编译工具的更多相关文章

  1. Ubuntu 16.04安装cuda7.5 GCC

    http://www.linuxidc.com/Linux/2017-01/139320.htm 在介绍Ubuntu 16.04安装 CUDA7.5开始前,先辨析几个概念GPU.NVIDIA.NVID ...

  2. Ubuntu 16.04安装Meld文件比对工具替代Beyond Compare

    Beyond Compare是商业软件,不建议使用,下载地址:http://www.scootersoftware.com/download.php.下载完直接运行或者通过dpkg安装即可. 其实Li ...

  3. Ubuntu 16.04安装7zip的图形界面工具PeaZip

    其实PeaZip不是7zip的图形界面工具,而是一整套方案,里面包括了7z格式的解压缩等. PeaZip Linux版本只有32位包,如果你使用的是64位Ubuntu系统,那么先打开终端运行下面的命令 ...

  4. Ubuntu 16.04安装IntelliJ出品的数据库管理工具DataGrip

    IntelliJ出品的东西有一个共同特定,就是代码提示做的非常好. DataGrip是除了MySQL Workbench之外的另一个选择. 一.下载 https://www.jetbrains.com ...

  5. Ubuntu 16.04安装Atom(加强版文本工具)

    安装: sudo add-apt-repository ppa:webupd8team/atom sudo apt-get update sudo apt-get install atom 或者直接上 ...

  6. Ubuntu 16.04安装PPA图形化管理工具Y PPA Manager

    安装: sudo add-apt-repository ppa:webupd8team/y-ppa-manager sudo apt-get update sudo apt-get install y ...

  7. Ubuntu 16.04 安装 Kodi v17 “Krypton” Alpha 2

    Ubuntu 16.04 安装 Kodi v17 “Krypton” Alpha 2:sudo add-apt-repository ppa:team-xbmc/xbmc-nightlysudo ap ...

  8. Ubuntu 16.04安装QQ国际版图文详细教程

            因工作需要,我安装了Ubuntu 16.04,但是工作上的很多事情需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个Linux版本的QQ,然而不是功能不全 ...

  9. Ubuntu12.4 64位 安装 arm linux gcc 4.3.2

    一.下载arm linux gcc 4.3.2 http://pan.baidu.com/share/link?shareid=1575352696&uk=2754759285&fid ...

  10. Ubuntu 16.04安装Matlab 2016b教程

    由于代码需要依赖Linux环境,只好尝试着装MATLAB,然而各种问题接踵而至,开始了由MATLAB引发的三天Linux探寻之旅-- 下载Matlab 2016b for Linux https:// ...

随机推荐

  1. 学JS的心路历程 - JS应用

    各家电商网站都推出了各种活动和现今优惠券,当时在逛PTT时看到了有篇文章,提供代码教大家用JS的方式抢票,看了一下后发现好像很多人好奇这是怎么做的,于是就想说想一篇文章来讲解一下. 我们先来看一下折价 ...

  2. EOS踩坑记 2

    [EOS踩坑记 2] 1.--contracts-console 在开发模式下,需要将 nodeos 添加此选项. 2.Debug Method The main method used to deb ...

  3. java实现两个不同list对象合并后并排序

    工作上遇到一个要求两个不同list对象合并后并排序1.问题描述从数据库中查询两张表的当天数据,并对这两张表的数据,进行合并,然后根据时间排序.2.思路从数据库中查询到的数据放到各自list中,先遍历两 ...

  4. JavaScript实现观察者模式

    首先: 观察者模式是软件设计模式的一种,它

  5. Python的基本用法

    ---恢复内容开始--- 一.函数 1.1 默认参数 想要计算一个数x的n次方,可以定义如下的函数.但是有时候我们仅仅只需要计算x^2,所以只想使用一个参数即power(x),这时如果仍用如下代码会报 ...

  6. oracle可重复执行脚本(添加字段)

    --添加债券期限字段 declare cn integer; begin cn := 0; select count(*) into cn from user_tab_cols t where t.t ...

  7. Codeforces Round #508 (Div. 2)

    Codeforces Round #508 (Div. 2) http://codeforces.com/contest/1038 A #include<bits/stdc++.h> us ...

  8. Balanced Numbers (数位dp+三进制)

    SPOJ - BALNUM 题意: Balanced Numbers:数位上的偶数出现奇数次,数位上的奇数出现偶数次(比如2334, 2出现1次,4出现1次,3出现两次,所以2334是 Balance ...

  9. 动态添加 SqlParameter 参数

    List<SqlParameter> paras = new List<SqlParameter>(); paras.Add(new SqlParameter("@m ...

  10. linux学习第八天 (Linux就该这么学)

    今天学了,mount 挂载,umount撤销挂载,.fdisk 命令 管理硬盘 交换分区swap,硬盘配额 xfs_quota命令 今天工作,手机看了,看的不全,回头看录播了.