工作需要,最近在编译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/

最新文章

  1. Windows操作系统待整理
  2. toolkit:Accordion DataTemplate ListBox TextBlock Interaction.Triggers
  3. css selector
  4. 解决LinearLayout中控件不能居右对齐
  5. 通用sqlserver分页存储过程
  6. 九度OJ 1283 第一个只出现一次的字符
  7. Handler 原理分析和使用(一)
  8. 012_call和apply区别
  9. CSS3基础入门01
  10. Linux命令行下编辑常用的快捷键
  11. __init__、__new__、__call__ 方法
  12. Let's Encrypt泛域名SSL证书申请
  13. 6大爱上react 的理由
  14. linux内核中宏likely和unlikely到底做了些什么?
  15. IKE协议
  16. linux centos 访问根目录 not accessable
  17. 基于MySQL自增ID字段增量扫描研究
  18. 21天,搞定软件测试从业者必备的Linux命令
  19. Python第三方模块--requests简单使用
  20. Haskell语言学习笔记(48)Data.Tuple

热门文章

  1. ELK6.0部署:Elasticsearch+Logstash+Kibana搭建分布式日志平台
  2. html网页练习豆瓣网
  3. Codeforces Round #437 B. Save the problem!
  4. 《CSAPP》符号和符号表
  5. Python设计模式 - UML - 用例图(Use Case Diagram)
  6. 移动端的1px边框问题
  7. 34 【kubernetes】安装手册
  8. jdk1.8 HashMap的实现
  9. mysql数据库导入与导出
  10. Linux下安装Hadoop