在讲述详细的开发环境搭建之前,先大概讲讲本文介绍了哪些内容

首先,我们是在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开发环境相关推荐

  1. ZYNQ7000搭建嵌入式Linux操作系统---基础篇

    ZYNQ7000搭建Linux操作系统 ZYNQ7000搭建嵌入式Linux操作系统 一.VIVADO工程的建立 二.VIVADO工程设置 三.在虚拟机环境下生成内核镜像uImage和uboot.el ...

  2. Linux学习之云服务器搭建嵌入式Linux开发环境

    Linux学习之云服务器搭建嵌入式Linux开发环境 第一步:购买云服务器 进入腾讯云官方网站腾讯云官方网站 选择云+校园云+校园 进入控制台 将云服务器系统设置为Ubuntu系统 使用Xshell6 ...

  3. 构建嵌入式系统软件开发环境-VMware的安装及搭建嵌入式Linux开发环境

    嵌入式系统操作系统 目前流行的嵌入式操作系统主要有VxWorks.WindowsCE.Linux等,由于Linux的源码开放性.内核可裁剪性.在图像处理.文件管理及多任务支持等诸多方面的特点,使得它成 ...

  4. ubuntu20.04.1 64位搭建嵌入式linux开发环境

    目录 背景 开发环境的搭建 1.交叉编译工具的安装 2.开发工具和依赖库的安装 2.1. 必需部分 2.2.可选部分 ubuntu20.04.1 64位配置和编译Linux3.0内核 背景 市面上的嵌 ...

  5. 在Windows使用VSCode搭建嵌入式Linux开发环境

    在Windows使用VSCode搭建嵌入式Linux开发环境 百问网已经制作好了完备的Ubuntu镜像,可以从这里下载: 链接:https://pan.baidu.com/s/1vw4VUV_Mvt0 ...

  6. 在Win10的Linux子系统下搭建ESP32的开发环境

    在Win10的Linux子系统下搭建ESP32的开发环境 一.介绍 1.Windows的Linux子系统  win10进行了内置工作于命令行的Linux子系统功能,WIN10用户只需要开启Linux子 ...

  7. 音视频开发6. 搭建 ffmpeg Linux远程开发环境

    音视频开发6. 搭建 ffmpeg Linux远程开发环境 一.准备环境 二.操作步骤 1. 在CentOS 编译安装 ffmpeg 2. 编译安装ffmpeg后的环境 3. 本地在vscode安装 ...

  8. 构建一个适合stm32mp157系列开发板的嵌入式Linux系统

    在线课堂:https://www.100ask.net/index(课程观看) 论  坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taoba ...

  9. 嵌入式系统实验 构建嵌入式Linux系统,《嵌入式系统与开发》构建嵌入式Linux系统-实验报告.doc...

    <嵌入式系统与开发>构建嵌入式Linux系统-实验报告 <嵌入式数据库sqlite移植及使用> 实验报告 学生姓名: 陈 彤 学 号: 1座机电话号码 专业班级: 130044 ...

  10. linux内核培训广州,嵌入式Linux驱动开发高级培训班-华清远见嵌入式培训中心

    课程目标 本课程以案例教学为主,系统地介绍Linux下有关FrameBuffer.MMC卡.USB设备的驱动程序开发.参加本课程学习的学员,因为具备了Linux设备驱动开发基础,所以本课程针对性较强, ...

最新文章

  1. Ubuntu16.04 下的网易云出现网络异常、无法播放,界面无响应问题的统一解决
  2. embedding 层的详细解释
  3. 聚集索引和非聚集索引
  4. Xcode 4.4 的新特性 | LLVM 4.0 的新语法
  5. 小苏打到底能不能碱化尿液
  6. 小型数据库_如果您从事“小型科学”工作,那么您是否正在利用数据存储库?
  7. 使用Swagger,ApiExplorer和NSwag掌握ASP.NET Core和ABP中的外部Web API
  8. npm vue安装教程
  9. ubuntu classicmenu-indicator
  10. 华为 P40 或首发鸿蒙系统;新 iPhone Logo 移至中间;React 组件库 uiw 3.4.0 发布 | 极客头条​...
  11. 你猜一个 TCP 连接上面能发多少个 HTTP 请求
  12. C#复习(学生信息输入)
  13. 算法第四版 官方库的导入
  14. 金蝶ERP服务器系统中间件,中间件在ERP系统中的作用及发展趋势
  15. pack_padded_sequence torch说明
  16. lms算法的verilog实现_基于FPGA和LMS算法的系统建模
  17. windows服务器ssl证书安装及配置
  18. 硬核,这年头机器人都开始自学“倒车入库”了
  19. 小米android手机同步数据,怎样将旧手机里面的数据,丝毫不差的转移到新手机?一键教你搞定...
  20. CSS学习笔记 07、2D与3D转换

热门文章

  1. FFmpeg将YUV420P格式数据编码成H.264
  2. 利用Python cv2和CNN算法实现人脸识别
  3. MSSQL Server 数据库可疑、置疑修复方法
  4. Lightmass静态全局光照
  5. Swift UIImageView简单动画
  6. 利用PS、win10自带的照片、3D画图去除公章照片里面的文字,并且仿真的具体操作
  7. 新媒体运营胡耀文教程:10万+软文标题的6个高质量细节
  8. 给视频嵌入字幕的神器 MKVToolNix
  9. 自己的工具包Tools
  10. 自主实现的web服务器