开发板、windows、虚拟机(Ubuntu)三者互连的几种方式
写在前面
虚拟机与Windows连接的方式
- 桥接模式:相当于让虚拟机与win处于平级关系,我们的路由器需要分别给win和ubuntu分配ip地址,Ubuntu与win在同一段网络
- NAT模式:ubuntu相当于win的下级,路由器分配ip给win,win在充当路由器分配新的ip给ubuntu,Ubuntu与win不在同一段网络
为什么需要三者互连
其实需要的只是开发板与ubuntu互连即可,但是ubuntu是虚拟机运行在win上,所以是绕不开与win的连接
在开发阶段,通过tftp去加载镜像文件,通过NFS去挂载根文件系统,可以很容易的来替换内核以及传递文件,所以让开发板与Ubuntu互连很有必要
连接的几种方式
Windows有两个网卡,一个是无线网卡,可以使用WiFi联网,一个是有线网卡,可以使用网线直连
Ubuntu因为是虚拟机可以设置任意多个网卡
这就产生了我们数个连接的方法
方法1:开发板连接路由器,Ubuntu通过NAT桥接无线网卡
- 优点:基本不需要什么软件操作,开发板还能联网
- 缺点:往往我们工作的地方没有路由器,我们又需要开发板通过串口连接电脑,场景并不方便

这种方式下开发板,win,Ubuntu均是有路由器直接分配IP,肯定属于同一网段,配置起来也是最简单的
方法2:开发板直连电脑,Ubuntu桥接有线网卡
- 优点:没有场景限制,操作也比较容易
- 缺点:Ubuntu无法联网了

这种方法,需要手动配置win有线网卡、开发板、Ubuntu的IP地址
路由器分配给win的Ip相当于没意义了
在网上看到Windows可以将无线网卡的网络共享给有线网卡,这样之后Ubuntu就可以连接网络了,能够解决这种方法所带来的弊端,没做过尝试感兴趣可以试一试
方法3:开发板直连电脑,Ubuntu通过NAT连接无线网卡
- 优点:Ubuntu能联网
- 缺点:通过端口转发实现,只能连上配置的端口,但开发够用了

这种方法需要设置有线网卡和开发板的IP,并设置虚拟机的端口转发
这种方式只是让开发板与win联通了,在配置的端口上win搭建起了开发板与Ubuntu的桥梁,除去这些端口外开发板不能与虚拟机通信
方法4:开发板直连电脑,Ubuntu两张网卡一个NAT连接无线网卡,一个桥接有线网卡
- 优点:没有上面几种方法的所有缺点
- 缺点:配置多个网卡,操作复杂一些

这种方法下相当于相当于将前边几种方法特点合到了一起,网卡多了一些,配置稍微复杂一点但更好理解
开发板、windows、虚拟机(Ubuntu)三者互连的几种方式的更多相关文章
- 一句话解决Ping问题(主机,开发板,虚拟机)
PC机使用网卡A连接开发板,VMWare就要使用同一个网卡A作为桥接网卡 步骤: 1.确定网卡A 2.VMWare选择网卡A作为桥接网卡 3.设置三者IP在同一网段 a.Windows网卡A的IP b ...
- 解决mini2440开发板和虚拟机相互ping不通
很奇怪的事,前段时间使用都还是好好的,但今天不知什么原因开发板和虚拟机怎么也无法PING通. 虚拟机用的:fedora14 开发板IP:192.168.0.250 虚拟机IP:192.168.0.10 ...
- Android开发之使用sqlite3工具操作数据库的两种方式
使用 sqlite3 工具操作数据库的两种方式 请尊重他人的劳动成果,转载请注明出处:Android开发之使用sqlite3工具操作数据库的两种方式 http://blog.csdn.net/feng ...
- 在Windows 10中截取截图的6种方式 简介
在Windows 10中截取截图的6种方式 简介 截图对于不同的目的很重要.它可以用于捕获笔记本电脑上的任何内容的截图.所以,如果你使用Windows 10,你可能不知道如何截图,因为它是比较新的.因 ...
- Ubuntu 安装 JDK8 的两种方式
ubuntu 安装jdk 的两种方式: 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 使用pp ...
- ubuntu创建用户的两种方式
ubuntu创建用户有两种方式: useradd和adduser 这两者,就像零件与产品的关系.useradd是DIY,需要自己调配,adduser是品牌机,拿来就能用. 对于创建一般用户来讲,use ...
- uni-app&H5&Android混合开发三 || uni-app调用Android原生方法的三种方式
前言: 关于H5的调用Android原生方法的方式有很多,在该片文章中我主要简单介绍三种与Android原生方法交互的方式. 一.H5+方法调用android原生方法 H5+ Android开发规范官 ...
- [Android开发学iOS系列] iOS写UI的几种方式
[Android开发学iOS系列] iOS写UI的几种方式 作为一个现代化的平台, iOS的发展也经历了好几个时代. 本文讲讲iOS写UI的几种主要方式和各自的特点. iOS写UI的方式 在iOS中写 ...
- 荣品RP4412开发板烧写Ubuntu系统应注意SD卡内存大些
问:RP4412开发板用SD卡烧写光盘中的fastboot失败,现在如何补救呢? 答:INAND格式化, 利用usb来升级啊, 也有文档,看升级文档. 问: 这个是怎么回事? 答:你是升级什么系统? ...
- ARM开发板挂载虚拟机 nfs目录
ARM开发板做相关开发,为了调试方便,常把开发板mnt目录挂载到虚拟机nfs共享目录上,这样调试程序时候就不用把程序转到开发板上再运行,方便很多.要挂载nfs共享目录,需要安装必要的组件支持. 1.虚 ...
随机推荐
- 读项目NeteaseCloudMusicGtk4
netease-cloud-music-gtk4 是基于 GTK4 + Libadwaita 构造的网易云音乐播放器,专为 Linux 系统打造,已在 openSUSE Tumbleweed + GN ...
- 鸿蒙NEXT实战教程—实现音乐歌词同步滚动
之前写过一个音乐播放器项目,今天再给它完善一下,加一个歌词同步滚动. 先看效果图: 要做歌词同步滚动,我们首先需要的文件资源就是音乐文件和与之匹配的歌词文件.现在歌词文件不太好找,没关系,我们可以 ...
- vue3 基础-slot 插槽
前几篇的内容都是父子组件通过属性传值或者事件传值这样的. 本篇来学习父组件在调用子组件时, 如果想要给子组件传递特定的内容 (dom) , 则可通过 slot 这个设计来轻易实现哦. 例如现在有这样一 ...
- Unity编辑器重新编译代码
最近碰到Unity编辑器偶尔抽风,明明代码都正常的,编译却有个空报错,导致策划/美术有时候需要重启Unity,有时候需要关掉unity+删除Library/AssemblyScript目录再开unit ...
- 操作系统:Linux -- 详解socket实现与网络编程接口
现在我们来瞧一瞧 Linux 的网络程序,不过想要入门 Linux 的网络编程,套接字也是一个绕不开的重要知识点,正是有了套接字,Linux 系统才拥有了网络通信的能力.而且网络协议的最底层也是套接字 ...
- Win32汇编学习笔记03.RadAsm和补丁
https://bpsend.net/thread-163-1-1.html 补丁 扫雷游戏啊下补丁 在扫雷游戏中,点关闭弹出一个确认框,确认之后再关闭,取消就不关闭 首先第一步就是确认关闭按钮响应的 ...
- 「硬核科普」C++11锁机制三兄弟大比拼:mutex、lock_guard与unique_lock
大家好啊,我是小康.今天咱们聊点"家常"--那些让C++程序员又爱又恨的多线程同步工具! 如果你曾经被多线程搞得头大,或者听到"死锁"就心慌,那这篇文章就是为你 ...
- DrissionPage.errors.WrongURLError 无效的url,也许要加上"http://"?
DrissionPage是个强大的工具,使用DrissionPage 读取本地html 报了这个错:"DrissionPage.errors.WrongURLError 无效的url,也许要 ...
- 洛谷 11 月月赛 I T2 P7043 「MCOI-03」村国
题目背景 \(\texttt{What did this player dream?}\) 他梦见了什么? \(\texttt{This player dreamed of sunlight and ...
- manim边做边学--隐函数图像
在数学可视化中,显函数$ y=f(x) \(相对容易处理,但**隐函数**\) F(x,y)=0 $的绘制则更具挑战性. Manim库中的ImplicitFunction类专门用于解决这个问题,它能够 ...