【linux】安装Linux的交叉编译工具链

2023-05-16

1、linux中装软件的特点

    linux中安装软件比windows中复杂。linux中安装软件一般有以下几种方法:
    第一种:在线安装。譬如ubuntu中使用apt-get install vim来安装vim软件。
    第二种:自己下载安装包来安装。这种方式的缺陷就是你不知道你下载的安装包和你的系统是否匹配。
    第三种:最装逼的一种方式,就是源代码安装。
    总结:我们安装交叉编译工具链(arm-linux-gcc)实际采用第二种安装方式。

2、s5pv210交叉编译工具链版本的选择

    解压后形式: arm-2009q3(三星官方);解压前形式:arm-2009q3.tar.bz2

3、交叉编译工具链的安装步骤

    步骤1:打开虚拟机,在/usr/local/下创建/usr/local/arm文件夹【注意需要用sudo才能创建,否则不能创建,如下图】

     

    步骤2:先将安装包 arm-2009q3.tar.bz2从Windows中弄到ubuntu中去(此处使用共享文件夹)

    步骤3:复制。在ubuntu中进入到/usr/local/arm/所在的目录, 通过命令sudo cp /mnt/hgfs/linuxshare/arm-2009q3.tar.bz2  ./将arm-2009q3.tar.bz2复制到arm目录下。

    

    

    从上图可以看到,已经复制成功。【注意】这里需要使用sudo权限如上图操作,且需要特别注意格式,注意点号“.”后面需要有“/”,即用“./”表示当前目录。

    步骤4:解压。复制结束之后,在/usr/local/arm/目录下使用tar -jxv命令解压安转包,解压指令如下:tar -jxvf arm-2009q3.tar.bz2。按回车键后让ubnutu自动安装直到安装完毕(真正的应用程序安装在/usr/local/arm/arm-2009q3/bin目录下),遇到一个问题,使用解压命令tar -jxvf arm-2009q3.tar.bz2无法解压成功,怎么办呢?解决方法:在解压命令前面加上sudo即可解决。解压成功的标志是,在arm目录下可以看到arm-2009q3这个文件夹,如下图:

    

到此为止交叉编译链已经安装成功,因为这是一个绿色软件,解压后可以直接使用。真正的应用程序的安装目录下(/usr/local/arm/arm-2009q3/bin)

【补充】使用命令:sudo su root 可以进入root权限

步骤5:到真正的应用程序的安装目录下(也就是/usr/local/arm/arm-2009q3/bin),进入目录看到如下:

上面看到的绿色的“arm-none-linux-gnueabi-gcc”便是交叉工具编译链,这是编写这个交叉工具编译链的创造者起的名字,但是为了方便我们习惯把它缩短一些,统称叫“arm-linux-gcc”,这也是后面会谈到的“为工具链创建arm-linux-xxx符号链接”

4、安装后的测试

   安装完之后现在测试一下安装的交叉工具编译链能不能用。到目录/usr/local/arm/arm-2009q3/bin,执行一下安装的编译链
    执行方法是:./arm-none-linux-gnueabi-gcc -v  

(说明:-v是参数,用来测试所安装的交叉工具编译链的版本)
    执行后可以得到一长串输出,其中有“gcc version 4.4.1 ”字样,即表示安装成功。

5、为工具链创建arm-linux-xxx符号链接

sudo进入管理员权限后  ln arm-none-linux-gnueabi-addr2line -s arm-linux-addr2line

【注意:上面用ln生成软连接是需要在管理员权限才可以】,生成的软连接(好比快捷方式)是左边蓝色一排

6、环境变量的意义

    环境变量就是操作系统的全局变量。每一个环境变量对操作系统来说都是唯一的,名字和所代表的意义都是唯一的。linux系统可以有很多个环境变量。其中有一部分是linux系统自带的,还有一些是我们自己来扩充的。我们这里涉及到的一个环境变量是
    PATH。PATH这个环境变量是系统自带的,它的含义就是系统在查找可执行程序时会搜索的路径范围。

【注意】需要在root用户下,在根目录上使用 echo $PATH 查看路径

7、将工具链导出到环境变量

    export PATH=/usr/local/arm/arm-2009q3/bin:$PATH
    在一个终端中执行以上命令后,该终端中就可以直接使用arm-linux-gcc了,但是只要关掉这个终端再另外打开一个立马就不行了。原因是我们本次终端中执行时的操作只是针对本终端,以后再打开的终端并未被执行过这个命令所以没导出。
    解决方案:如果要每次打开终端都可以看到这个环境变量,在~/.bashrc中,添加export PATH=/usr/local/arm/arm-2009q3/bin:$PATH 即可。
    注意:我们导出这个环境变量是在当前用户,如果你登录时在其他用户下是没用的。


【linux中的目录管理方法】我们习惯在/bin(根目录的bin)目录下目录放置一些【系统自带的用户使用】的应用程序,/sbin(根目录的sbin)目录下存放的是【系统自带的系统管理方面】的应用程序。如下两个截图分别是/bin和/sbin中的部分截取,只是为了让大家看清楚linux目录管理的方法.

    

    

那我们装软件放在哪里?一般都在/usr目录下。我们安装arm-linux-gcc,就在/usr/local/底下创建一个arm文件夹,然后装到将要安装的软件装在arm里面。之所以起名为arm是因为我们现在做的都是arm开发。

    

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【linux】安装Linux的交叉编译工具链 的相关文章

随机推荐

  • 【Linux】Ubuntu各版本号和名称对照

    版本开发代号中译发布日期支持结束时间内核版本桌面版服务器版4 10Warty Warthog多疣的疣猪2004 10 202006 04 302 6 85 04Hoary Hedgehog白发的刺猬2005 04 082006 10 312
  • 在Windows系统中 开机自动运行一个Python脚本 或者自动运行一个软件

    以前做过开机运行 xff0c 但是现在用的时候又给忘了 xff0c 所以本次来写一下步骤 博主做的是一个ftp服务器 xff0c 因为是在自己电脑上 xff0c 希望局域网内可以互相传文件 xff0c 所以希望开机之后能自动运行 对于Win
  • cas5.3.2单点登录-JDBC认证(密码MD5和密码加盐)(二)

    原文地址 xff0c 转载请注明出处 xff1a https blog csdn net qq 34021712 article details 80956047 王赛超 上一章搭建了单点登录的基本骨架 xff0c 但是它的用户名和密码是写
  • 多控制器集群环境下,基于LLDP和OpenFlow的网络拓扑检测

    多控制器集群环境下 xff0c 基于LLDP和OpenFlow的网络拓扑检测 目录 多控制器集群环境下 xff0c 基于LLDP和OpenFlow的网络拓扑检测 一 实验目的 二 实验原理 三 实验任务 四 实验步骤 4 1 实验环境 4
  • P4连接ONOS——导入ONOS虚拟机

    补充 xff1a 2020年5月11日 13点07分 近期有同学私信我安装过程中有这个报错 xff0c 如下图 根据报错信息 xff0c 似乎是下载这个包服务器501出错 xff0c 很可能是因为内网无法下载这个包 我忘记说了 xff0c
  • ONOS链路发现源码

    ONOS链路发现源码 send LLDP by ynogpu private void sendProbes Long portNumber String portDesc if context packetService 61 61 nu
  • 手把手教你新建一个winform项目(史上最全)

    文章目录 前言 xff1a 第1步 打开Microsoft Visual Studio xff08 简称vs xff09 xff0c 本人这里使用的是Visual Studio 2017 专业版 xff0c 如下图 xff1a 1 2 Vi
  • 2021-01-20

    中文字库液晶模块12864示例程序范例 xff1a 液晶屏型号 xff1a JLX12864G 086 PC 3S 接口 xff1a 串行 中文字库 xff1a 带中文字库IC JLX GB2312 竖置横排 驱动IC UC1701X 与S
  • 前端开发中常见的浏览器兼容性问题及解决方案

    文章目录 前言一 浏览器四大内核二 主流兼容问题 xff08 一 xff09 浏览器引擎 xff08 二 xff09 兼容问题的原因 xff08 三 xff09 为什么浏览器会存在兼容性问题 xff08 四 xff09 处理兼容问题的思路1
  • 论文复现——Sphereface-Pytorch

    最近在写论文 xff0c 要做一些对比实验 xff0c 需要以Sphereface为基础 其实实验早该做了 xff0c 就是一直拖拖拖 唉拖延症患者 今天总算是把github上的代码跑通了 xff0c 赶紧做下小笔记 因为还要赶论文 xff
  • mysql学习-9.如何正确的使用索引

    1 索引的规则 1 1 等值匹配 假设索引 A select from table where A 61 xxx就是走索引的 1 2 最左侧列匹配 假设索引 A B select from table where A 61 xxx and
  • Python/matplotlib之【RuntimeWarning: More than 20 figures have been opened】

    Python matplotlib之 RuntimeWarning More than 20 figures have been opened 当绘图的过程中 xff0c 建立了大量的figure xff0c 就会报错 解决的方法 xff0
  • 【学习】《软件工程》期末考试卷A+参考答案

    2021 福师网院 软件工程 2020年期末考试卷A xff08 参考答案见底部 xff09 1 软件需求分析阶段的工作 xff0c 可以分为以下4个方面 xff1a 对问题的识别 分析与综合 编写需求分析文档以及 xff08 xff09
  • C#自定义控件

    一 开发环境和工具 1 WIN10系统 2 Visual Studio社区版 2019 xff08 C xff09 二 创建自定义控件窗体 添加一个自定义控件 xff0c 右键解决方案 xff0c 点击添加 xff0c 然后点击用户控件 选
  • vdo 虚拟数据优化器详解以及配置

    VDO 我的博客 xff1a https blog itwk cc vdo xff08 虚拟数据优化器 xff09 是一个内核模块 xff0c 目的是通过重删 xff08 重复数据删除 xff09 减少磁盘的的空间占用 xff0c 以及减少
  • ROS 自定义消息类型方法

    流程 1 在package中新建文件夹名为msg 2 在msg文件夹中创建消息 xff08 此处以my msg msg xff09 为例 xff0c 注意的是要以msg为后缀名 内容举例如下 xff1a int32 data1 float6
  • 计算机网络第七版笔记--第一章

    第一章概述 1 1 计算机网络在信息时代中的作用 1 互联网是覆盖全球的 xff0c 具有两个重要基本特点 xff0c 即连通性和共享 1 2互联网的概述 1 2 1网络的网络 1 计算机网络 xff08 简称网络 xff09 由若干结点
  • 0.1+0.2不等于0.3 原因

    在计算机进行数字计算时会先将十进制转化为二进制进行计算 xff0c 由于二进制表示的有限数字不能超过 52 位在 JavaScript 里是不能精确存储的 xff0c 计算机进行了四舍五入这时造成了数字误差导致计算结果不为0 3 总结 xf
  • mac 终端 配置代理

    即使打开代理 xff0c mac终端默认不走 xff0c 需要配置 一 复制终端代理命令 export http proxy 61 http 127 0 0 1 1089 export https proxy 61 http 127 0 0
  • 【linux】安装Linux的交叉编译工具链

    1 linux中装软件的特点 linux中安装软件比windows中复杂 linux中安装软件一般有以下几种方法 xff1a 第一种 xff1a 在线安装 譬如ubuntu中使用apt get install vim来安装vim软件 第二种