工作需要,最近在编译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. linux下用python搭建简单的httpServer

    1.服务器端:python -m SimpleHTTPServer 12000 python -m :  相当于import,当做模块来启动; 后面的12000代表的是端口 使用浏览器打开如下: 2. ...

  2. Javascript的算法题目

    用js实现单链表的增删,直接上代码 const linkList=new LinkList() function LinkList(){ var Node=function(element){ thi ...

  3. django模板总结

    1. 加载静态文件 html顶部:{% load staticfiles %} 调用: <link rel="stylesheet" type="text/css& ...

  4. FortiGate日志设置

    1.默认 FGT5HD3916802737 # config log syslogd setting FGT5HD3916802737 (setting) # show config log sysl ...

  5. 791. Custom Sort String字符串保持字母一样,位置可以变

    [抄题]: S and T are strings composed of lowercase letters. In S, no letter occurs more than once. S wa ...

  6. Object强转为实体类类型失败!!!!!!

    这是从我CSDN博客直接拿来的图片废话不多说,直接上代码:

  7. JavaSE基础知识(5)—面向对象(5.2类的成员)

    一.属性 1.语法 数据类型 属性名 [= 属性值]; 2.特点 ①属性的数据类型可以为任意类型,包含基本类型或引用类型②属性可以不用手动赋值,有默认值 int——0 double——0.0 char ...

  8. Spring Boot 启动(二) Environment 加载

    Spring Boot 启动(二) Environment 加载 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) 上一节中 ...

  9. 第二次spring会议

    今天所做之事: 我用C#用DelectText对行数进行了定义,刚开始写代码有点无从下手. 遇到的问题:刚开始用datagridView进行了文本的输入,但是它更适合EXCEL之类的数据计算不符合我们 ...

  10. java中random的几个方法的使用Math.random()和random().

    random java中我们有时候也需要使用使用random来产生随机数,下面我来简单的介绍下java中random的使用方法 第一种:Math.random() public static doub ...