Linux开发(1):搭建嵌入式Linux开发环境
在讲述详细的开发环境搭建之前,先大概讲讲本文介绍了哪些内容
首先,我们是在Windows下通过VMware运行虚拟机Ubuntu来运行主机端的Linux,然后再通过串口线连接电脑和Linux开发板
那么就会产生问题:
1.如何将Windows中的文件导入Ubuntu?
2.如何让Ubuntu和Linux开发板能进行文件间的共享传输?
简单来说,就是让Window和Ubuntu共享文件,让Ubuntu和Linux开发板共享文件。因为Windows和Linux操作系统不一样,所以要在Ubuntu中搭建交叉编译环境,而不是直接让两个环境进行传输。
接下来介绍具体步骤,简单部分不细讲
一、VMware中创建虚拟机Ubuntu
(1).在Windows下,新建一个20GB以上的磁盘分区
具体自行百度
(2).在VMware中新建一个虚拟机
具体自行百度
(3).打开Ubuntu官网连接,下载Ubuntu2022的驱动文件
Ubuntu系统下载 | Ubuntu
(4).使用下载好的驱动文件
完成后,打开虚拟机,进入Ubuntu安装引导界面
具体安装教程,可自行百度,附上一个链接http://t.csdn.cn/AFCpM
二、 在Ubuntu中搭建交叉编辑环境
(1).下载解压Linaro公司基于GCC推出的ARM交叉编译工具压缩包
问题来了,为什么要下载这个东西呢?Ubuntu里不是自带gcc编译器么?
答案是Ubuntu里的gcc编译器和Linux开发板上的编译环境不一样,而且Ubuntu里的gcc编译器一次还就只能编译一个文件,不能批量编译,因此需要下载别的编译工具。
下载交叉编译压缩包的方法有两种:
第一种是在Windows下载,通过开启共享文件夹的方式,再在Ubuntu中将其复制出来
第二种是直接在Ubuntu中打开浏览器输入网址下载(需要更换Ubuntu下载源,否则下载速度会很慢)
第一种方法:
1.在Windows下,打开网址Linaro Releases 选择64位的编译工具压缩包下载
2.VM左上角点击虚拟机-设置-选项-共享文件夹-总是启用-添加。
如果“总是启用”是灰色的,先把虚拟机关机在点击设置
新建文件夹时,请不要使用中文路径,这很重要,其他随意,下一步即可
3.在终端下操作,使Ubuntu可以访问该共享文件
3.1 安装open-vm-tools
命令为:sudo apt install open-vm-tools*
3.2 查看设置的共享文件有没有在Ubuntu里显示
命令为:vmware-hgfsclient
3.3 创建文件挂载目录/mnt/hgfs
命令为:sudo mkdir /mnt/hgfs
3.4 将共享文件挂载到目录/mnt/hgfs
命令为:sudo /usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other
(./host后面跟着的是共享文件夹名字,但我们建立不止一个共享文件夹,每次都要重新挂载未免太麻烦,直接不写具体的文件夹名字,让整个目录里的所有共享文件夹一起挂载就行了)
3.5 设置开机自动挂载
打开配置文件
命令为:vim /etc/fstab
在配置文件最底下输入语句
语句为:.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0
4.进入/mnt/hgfs,输入ls查看是否存在目录,UShare2是我从上面步骤一路新建的
5.将Windows中下载好的压缩包放到共享文件夹里,再从Ubuntu中进入该文件夹,查看该压缩包,先别急着解压,解压操作后续进行
第二种方法:
1.打开火狐浏览器
2.输入网址Linaro Releases
3.下载64位压缩包
(2).解压交叉编辑工具压缩包
1.解压压缩包
命令1:mkdir -p /usr/local/arm //交叉编译器安装目录
命令2:cp 压缩包名字 /usr/local/arm //在压缩包目录下执行,复制一份到创建的目录下
命令3:cd /usr/local/arm //进入创建的目录
命令4:sudo tar xvf 压缩包名字 //解压
命令5(选做):sudo mv 解压后文件名字 新的名字 //重命名解压后的文件
我解压后重命名的文件如下,下列步骤以cross-4.9.4代替“解压后文件”
2.进入cross-4.9.4/bin 目录下
3.在环境变量PATH中添加路径
命令:export PATH=$PATH:/usr/local/arm/cross-4.9.4/bin
4.使用arm-linux-gnueabihf-gcc命令查看编译工具版本信息,可以在/cross-4.9.4/bin文件夹中(上面图)找到对应的可执行文件
命令:arm-linux-gnueabihf-gcc -v
运行效果如下。第一次执行该命令会提示要下载,执行提示的下载语句,再次运行该命令即可。
三、配置NFS文件共享系统
为什么要配置NFS?NFS有啥用?
首先,让Ubuntu可以访问Windows中的文件可以通过共享文件夹的方式,那让Windows访问Ubuntu中的文件呢?那就需要配置Samba服务器,感兴趣可自行百度。那让Linux开发板访问Ubuntu中的文件呢?那就需要配置NFS了。
NFS就是用于Linux和Linux之间的共享文件,Samba用于Linux和Windows的共享文件,Samba也可以用于Linux和Linux,不过NFS更好,所以要配置NFS
NFS的配置文件在/etc/exports
1.NFS安装前的准备
新建一个用于NFS文件共享的文件夹
命令1:sudo mkdir /home/nfs
命令2:sudo chmod 777 /home/nfs
2.安装NFS
命令:sudo apt-get install nfs-kernel-server
3.配置exports文件
命令1:sudo gedit /etc/exports
在打开的文件最底下添加:
/home/nfs *(rw,sync,no_root_squash)
4.重启portmap
portmap在目录/etc/init.d/下,那么你可能会好奇了,怎么找不到portmap文件呢?因为Ubuntu2022中rpcbind已经更名取代了portmap,两者是一样的。所以重启rpcbind就行了
命令:sudo /etc/init.d/rpcbind restart
5.重启NFS服务
命令:sudo /etc/init.d/nfs-kernel-server restart
6.显示共享出的目录
命令:showmount -e
效果如下:
至此,完成在虚拟机上面搭建嵌入式交叉编译环境
Linux开发(1):搭建嵌入式Linux开发环境相关推荐
- ZYNQ7000搭建嵌入式Linux操作系统---基础篇
ZYNQ7000搭建Linux操作系统 ZYNQ7000搭建嵌入式Linux操作系统 一.VIVADO工程的建立 二.VIVADO工程设置 三.在虚拟机环境下生成内核镜像uImage和uboot.el ...
- Linux学习之云服务器搭建嵌入式Linux开发环境
Linux学习之云服务器搭建嵌入式Linux开发环境 第一步:购买云服务器 进入腾讯云官方网站腾讯云官方网站 选择云+校园云+校园 进入控制台 将云服务器系统设置为Ubuntu系统 使用Xshell6 ...
- 构建嵌入式系统软件开发环境-VMware的安装及搭建嵌入式Linux开发环境
嵌入式系统操作系统 目前流行的嵌入式操作系统主要有VxWorks.WindowsCE.Linux等,由于Linux的源码开放性.内核可裁剪性.在图像处理.文件管理及多任务支持等诸多方面的特点,使得它成 ...
- ubuntu20.04.1 64位搭建嵌入式linux开发环境
目录 背景 开发环境的搭建 1.交叉编译工具的安装 2.开发工具和依赖库的安装 2.1. 必需部分 2.2.可选部分 ubuntu20.04.1 64位配置和编译Linux3.0内核 背景 市面上的嵌 ...
- 在Windows使用VSCode搭建嵌入式Linux开发环境
在Windows使用VSCode搭建嵌入式Linux开发环境 百问网已经制作好了完备的Ubuntu镜像,可以从这里下载: 链接:https://pan.baidu.com/s/1vw4VUV_Mvt0 ...
- 在Win10的Linux子系统下搭建ESP32的开发环境
在Win10的Linux子系统下搭建ESP32的开发环境 一.介绍 1.Windows的Linux子系统 win10进行了内置工作于命令行的Linux子系统功能,WIN10用户只需要开启Linux子 ...
- 音视频开发6. 搭建 ffmpeg Linux远程开发环境
音视频开发6. 搭建 ffmpeg Linux远程开发环境 一.准备环境 二.操作步骤 1. 在CentOS 编译安装 ffmpeg 2. 编译安装ffmpeg后的环境 3. 本地在vscode安装 ...
- 构建一个适合stm32mp157系列开发板的嵌入式Linux系统
在线课堂:https://www.100ask.net/index(课程观看) 论 坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taoba ...
- 嵌入式系统实验 构建嵌入式Linux系统,《嵌入式系统与开发》构建嵌入式Linux系统-实验报告.doc...
<嵌入式系统与开发>构建嵌入式Linux系统-实验报告 <嵌入式数据库sqlite移植及使用> 实验报告 学生姓名: 陈 彤 学 号: 1座机电话号码 专业班级: 130044 ...
- linux内核培训广州,嵌入式Linux驱动开发高级培训班-华清远见嵌入式培训中心
课程目标 本课程以案例教学为主,系统地介绍Linux下有关FrameBuffer.MMC卡.USB设备的驱动程序开发.参加本课程学习的学员,因为具备了Linux设备驱动开发基础,所以本课程针对性较强, ...
最新文章
- Ubuntu16.04 下的网易云出现网络异常、无法播放,界面无响应问题的统一解决
- embedding 层的详细解释
- 聚集索引和非聚集索引
- Xcode 4.4 的新特性 | LLVM 4.0 的新语法
- 小苏打到底能不能碱化尿液
- 小型数据库_如果您从事“小型科学”工作,那么您是否正在利用数据存储库?
- 使用Swagger,ApiExplorer和NSwag掌握ASP.NET Core和ABP中的外部Web API
- npm vue安装教程
- ubuntu classicmenu-indicator
- 华为 P40 或首发鸿蒙系统;新 iPhone Logo 移至中间;React 组件库 uiw 3.4.0 发布 | 极客头条​...
- 你猜一个 TCP 连接上面能发多少个 HTTP 请求
- C#复习(学生信息输入)
- 算法第四版 官方库的导入
- 金蝶ERP服务器系统中间件,中间件在ERP系统中的作用及发展趋势
- pack_padded_sequence torch说明
- lms算法的verilog实现_基于FPGA和LMS算法的系统建模
- windows服务器ssl证书安装及配置
- 硬核,这年头机器人都开始自学“倒车入库”了
- 小米android手机同步数据,怎样将旧手机里面的数据,丝毫不差的转移到新手机?一键教你搞定...
- CSS学习笔记 07、2D与3D转换