在ubuntu虚拟机上安装不同版本的交叉编译工具链

在之前的章节中,学习了如何安装了4.8.3的交叉编译工具链:

交叉编译 和 软硬链接 的初识(面试重点)-CSDN博客

但是,在之后学习内核编译时,由于我的树莓派内核版本较高,为6.1,所以在使用4.8.3版本的交叉编译工具链来进行内核配置的时候会提示版本过低:

于是只好安装更高版本的交叉编译工具链,经过实践:虽然报错提示最低也要使用5.1.0版本的交叉编译器,但是我下载5.3或者5.5版本的依然会报错。可见,交叉编译工具链不是版本越高越好,而是要选择和内核版本兼容的我最后安装了5.1版本的

不同版本的交叉编译工具链下载地址:

Linaro Releases

进入网站后:

 

  • 下载下来后是.tar.xz后缀的压缩文件,先用windows解压一层变成.tar文件再拖入虚拟机(再解压tar的话windows又会提示大小写不同的文件名属于同名文件了):
sudo tar -xvf gcc-linaro-5.1-2015.08-x86_64_arm-linux-gnueabihf.tar //解压

 

  • 解压后进入该文件夹,再进入bin,找到“arm-linux-gnueabihf-gcc”:

  • 为了防止和之前4.8.3版本的交叉编译器名字重叠,创建一个名为“arm-linux-gcc-5.1”的软链接指向它:
sudo ln -s arm-linux-gnueabihf-gcc arm-linux-gcc-5.3

 

  • 同样的,为4.8.3也重新创建一个软链接“arm-linux-gcc-4.8.3”来区分:
1. cd /home/mjm/ras_CrossCompile/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
2. ln -s arm-linux-gnueabihf-gcc-4.8.3 arm-linux-gcc-4.8.3

 

  • 然后永久性添加环境变量:
1. 将/home/mjm/ras_CrossCompile/gcc-linaro-5.1-2015.08-x86_64_arm-linux-gnueabihf/bin添加上4.8.3的环境变量之后,用“:”分隔2. vi /home/mjm/.bashrc3. 将1的内容加入2的文件最下方,保存退出4. source /home/mjm/.bashrc

 

  •  最后重新开一个终端输入“arm-linux-gcc-5.1 -v”和“arm-linux-gcc-4.8.3 -v”测试:

输入arm-linux-gcc-5.1 -v:

输入arm-linux-gcc-4.8.3 -v:

可见,成功在虚拟机上安装了不同版本的交叉编译工具链,且使用了软链接来自由的使用他们!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/187572.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【android开发-01】android中toast的用法介绍

1,android中toast的作用 在Android开发中,Toast是一种用于向用户显示简短消息的轻量级对话框。它通常用于向用户提供一些即时的反馈信息,例如操作结果、提示或警告。 Toast的主要作用如下: 提供反馈:Toast可以在用户…

chrome vue devTools安装

安装好后如下图所示: 一:下载vue devTools 下载链接https://download.csdn.net/download/weixin_44659458/13192207?spm1001.2101.3001.6661.1&utm_mediumdistribute.pc_relevant_t0.none-task-download-2%7Edefault%7ECTRLIST%7EPaid-1-13192207…

知乎禁止转载的回答怎么复制做笔记?

问题 对于“禁止转载”的回答,右键复制是不行的,ctrl-c也不行,粘贴之后都是当前回答的标题。稍微看了代码,应该是对copy事件进行了处理。不过这样真的有用吗,真是防君子不防小人,只是给收集资料增加了许多…

sso单点登录

一:业务需求 客户要求在门户网站上实现一次登录能访问所以信任的系统 二: 处理方式 实现sso单点登录需要前后端配合处理 1. 通过网页授权登录获取当前用户的openid,userid 2.设置单点登录过滤器并进行参数配置 3.另外写一个登录接口&…

Git分支批量清理利器:自定义命令行插件实战

说在前面 不知道大家平时工作的时候会不会需要经常新建git分支来开发新需求呢?在我这边工作的时候,需求都是以issue的形式来进行开发,每个issue新建一个关联的分支来进行开发,这样可以通过issue看到一个需求完整的开发记录&#x…

菜鸟学习日记(Python)——基本数据类型

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。 等号()用来…

深入学习redis-基于Jedis通过客户端操作Redis

目录 redis客户端(JAVA) 配置 引入依赖 建立连接 常用命令实现 get/set exists/del keys expire和ttl type 字符串(String) mget和mset getrange和setrange append incr和decr 列表(list) …

Android 13.0 修改Android系统的通知自动成组的数量

场景: Android 系统对显示在通知列表中的同一个应用的通知进行分组管理,即相同的packageName中,当通知数量达到系统默认指定的数量时,会自动成一组. Android 13.0 中系统默认的自动成组数如下所示: 核心路径 : frameworks/base/core/res/res/values/config.xml<!-- 来自同…

leecode | 1657. 确定两个字符串是否接近 | 30号最后一题

判断两个字符串是否是最接近 怎么解释&#xff0c;最接近&#xff1f; 首先两个字符串的长度要一样&#xff0c;字符串中的字符出现的频率要一样 然后字符串中任意两个不同字符串可以直接交换 当然&#xff0c;多个也可以交换&#xff0c;例如&#xff1a;aacabb -> bbcbaa&…

c++--类型的基础

1.常量对象&#xff0c;常量成员函数 (1).常量对象 常量对象的引用和指针不能调用类的普通的成员函数。只能调用常量成员函数。 (2).常量成员函数&#xff1a;把const放在类成员函数参数列表后。表示隐含的this是一个指向常量的指针 (3).当创建一个const对象时&#xff0c;直到…

运行启动vue项目报报错node: --openssl-legacy-provider is not allowed in NODE_OPTIONS解决

报错的问题就是package.json中的Scripts下的dev 解决方法就是要不升级你的应用代码&#xff0c;支持 新版本的node.js 要不就是删除SET NODE_OPTIONS--openssl-legacy-provider &&代码&#xff0c;如下代码即可正常运行起来

windows判断端口是否在使用 bat脚本

脚本 REM 查询端口是否占用 netstat -ano|findstr 3306 >nul &&echo y >1.log ||echo n >1.log REM 读取文本内容赋值给变量 set /P resu<1.log if %resu% y (echo port in use ) else (echo port not in use ) mysql服务不运行的时候检测效果 mysql服…

鸿蒙原生应用/元服务开发-开发者如何进行真机测试

前提条件&#xff1a;已经完成鸿蒙原生应用/元服务开发&#xff0c;已经能相对熟练使用DevEco Studio,开发者自己有鸿蒙4.0及以上的真机设备。 真机测试具体流程如下 1.手机打开开发者模式 2.在项目中&#xff0c;左上角 文件(F)->项目结构 进行账号连接 3.运行

Flash学习

FLASH介绍 FLASH是常用的&#xff0c;用于存储数据的半导体器件&#xff0c;它具有容量大&#xff0c;可重复擦写&#xff0c;按“扇区/块”擦除、掉电后数据可继续保存的特性。 常见的FLASH有NOR FLASH和NAND FLASH。 NOR和NAND是两种数字门电路&#xff0c;可以简单地认为F…

【负载均衡 SLB介绍及其算法详解】(一万两千字)

目录 一、负载均衡 SLB 定义 二、负载均衡SLB的作用 三、负载均衡器&#xff08;Load Balancer&#xff09; 【1】工作原理 【2】主要功能 【3】关键概念 四、工作负载&#xff08;Workload&#xff09; 五、负载均衡算法 【1】轮询&#xff08;Round Robin&#xff0…

python 中文件相对路径 和绝对路径

什么是绝对路径 绝对路径&#xff1a;就是从盘符(c盘、d盘)开始一直到文件所在的具体位置。 例如&#xff1a;xxx.txt 文件的绝对路径为&#xff1a; “C:\Users\xiaoyuzhou\Desktop\file\xxx.txt”相对路径 “相对路径”就是针对“当前文件夹”这一参考对象&#xff0c;来描述…

软件工程(十二)

项目管理 定义 在项目活动中运用专门的知识&#xff0c;技能&#xff0c;工具和方法&#xff0c;使项目能够实现或超过项目干系人的需要和期限 度量 定义 对一个系统&#xff0c;构件或过程具有的某个给定属性的一个定量测量 工作 度量开发过程的目的是为了改进过程; …

【conda】容易遗忘的命令使用总结

1. 在空conda虚拟环境中安装python 退出到base环境 conda activate base 执行命令 conda install -n 空环境名 python版本名 例如&#xff1a; conda install -n test python3.10 2. 无需确认直接创建环境 在末尾加上-y&#xff0c;例如&#xff1a; conda create -n tes…

TZOJ 1375 偶数求和

答案&#xff1a; #include <stdio.h> int main() {int n 0, m 0, j 0, s 0, count1 0,k0;int arr[101] { 0 }; //选择数组是用来控制打印格式while (scanf("%d%d", &n, &m) 2 && (n < 100 && n>0)) //多组数据输入…

计算机网络HTTP篇

目录 一、HTTP基本概念 二、GET 与 POST 2.1、GET 与 POST 有什么区别&#xff1f; 2.2、GET 和 POST 方法都是安全和幂等的吗&#xff1f; 三、HTTP 缓存 3.1、强制缓存&#xff1a; 3.2、协商缓存 四、HTTP 特性 4.1、HTTP/1.1 4.1.1、HTTP/1.1 的优点 4.1.2、HTT…