草庐IT

解决开发板ping不通主机和虚拟机的解决办法

Embedded porter 2023-04-27 原文

问题

使用TFTP和NFS从虚拟机下载文件或者制作根文件系统的前提是开发板能够ping同虚拟机,但是很多人在这三者之间互ping总是不成功,捣鼓了一个晚上成功解决,下面记录一下,希望可以帮到遇到相同问题的小伙伴

1、硬件部分

我们要将开发板与我们的主机用网线连接好,要确保网线和网口等等硬件是好的,在我们ping的时候开发板的网线一般会黄灯一直亮,然后绿灯会闪烁,这样子一般我们的硬件是可以工作的,如下图

2、软件部分(三个设备一定要在同一网段)

2.1、虚拟机网络IP配置(一定要选择桥接模式)

在ping不通的时候,虚拟网络编辑器的桥接模式下的网络适配器我是选择自动,这里显然不能选择自动,不然虚拟机就有可能使用你的无线网卡,自然怎么也ping不通,所以虚拟网络编辑器选择自己的有钱网卡,如下图所示:

  1. 点击Vmware的编辑打开虚拟网络编辑器
  2. 点击更改设置,选择桥接模式,并且桥接到有线网卡,如下图

  3. 这里选择好之后最好点击应用再确定


3. 点击VMware上的虚拟机打开设置,选择网络适配器,网络连接选择桥接模式

4. 配置虚拟机IP,设置好点击应用即可,然后重新启动虚拟机,打开控制台使用ifconfig命令查看是否配置成功

IP设置为:192.168.1.3

掩码设置为:255.255.255.0

网关设置为:192.168.1.1

虚拟机部分就配置完成

2.2、主机静态IP配置

  1. 打开控制面板→网络和Internet→网络和共享中心→更改适配器设置,找到我们主机的网卡
  2. 选择以太网(这是我们的有线网卡)→属性→Internet协议版本4(TCP/IPv4)→配置有线网卡的IP

配置静态IP

IP设置为:192.168.1.2

掩码设置为:255.255.255.0

网关设置为:192.168.1.1

主机的有线网卡配置完成

2.3、开发板的配置

IP设置通过设置环境变量类来完成,相信大家都不陌生了,使用setenv设置环境变量,saveenv保存环境变量

IP设置为:192.168.1.4

服务器IP设置为:192.168.1.3(即虚拟机IP)

3、互ping实验现象

3.1开发板ping主机和虚拟机

注意!!!只能通过开发板uboot命令行ping其他主机,不能通过其他主机ping开发板,因为uboot没有对ping命令做处理,如如果其他主机ping的uboot的话,将会失败

进入系统


3.2、主机ping开发板和虚拟机

3.3虚拟机ping主机和开发板

4、主要事项

4.1、 一定要在同一网段(非常重要)

可以看到我上面配置的IP地址的前面都是192.168.1,也就是说我设置的IP地址都是在这个网段下的,后面的主机位

4.2、关闭主机的防火墙

在解决这个问题的时候,由于没有关闭防火墙,一直ping不通,耽误了很多的时间和精力

Win11可以参照这篇文章: W11关闭防火墙

4.3、此时我们是不能上网的(目前还解决不了,小白还望谅解哈)

5、总结

希望可以帮到各位,谢谢

参照文章链接

有关解决开发板ping不通主机和虚拟机的解决办法的更多相关文章

  1. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  2. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  3. ruby - 即使失败也继续进行多主机测试 - 2

    我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r

  4. ruby - 从 Ruby 中的主机名获取 IP 地址 - 2

    我有一个存储主机名的Ruby数组server_names。如果我打印出来,它看起来像这样:["hostname.abc.com","hostname2.abc.com","hostname3.abc.com"]相当标准。我想要做的是获取这些服务器的IP(可能将它们存储在另一个变量中)。看起来IPSocket类可以做到这一点,但我不确定如何使用IPSocket类遍历它。如果它只是尝试像这样打印出IP:server_names.eachdo|name|IPSocket::getaddress(name)pnameend它提示我没有提供服务器名称。这是语法问题还是我没有正确使用类?输出:ge

  5. ruby - 是否可以覆盖 gemfile 进行本地开发? - 2

    我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI

  6. ruby - Ping ruby 网站? - 2

    在Ruby中可以使用哪些替代方法来ping一个ip地址?标准库“ping”库的功能似乎非常有限。我对在这里滚动我自己的代码不感兴趣。有没有好的gem?我应该接受它并忍受它吗?(我在Linux上使用Ruby1.8.6编写代码) 最佳答案 net-ping值得一看。它允许TCPping(如标准ruby​​ping),但也允许UDP、HTTP和ICMPping。ICMPping需要root权限,但其他则不需要。 关于ruby-Pingruby网站?,我们在StackOverflow上找到一个类

  7. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  8. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  9. ruby - 通过 RVM 安装 Ruby 1.9.2 永远行不通! - 2

    当我执行>rvminstall1.9.2时一切顺利。然后我做>rvmuse1.9.2也很顺利。但是当涉及到ruby​​-v时..sam@sjones:~$rvminstall1.9.2/home/sam/.rvm/rubies/ruby-1.9.2-p136,thismaytakeawhiledependingonyourcpu(s)...ruby-1.9.2-p136-#fetchingruby-1.9.2-p136-#downloadingruby-1.9.2-p136,thismaytakeawhiledependingonyourconnection...%Total%Rece

  10. ruby-on-rails - 有没有办法为 CarrierWave/Fog 设置上传进度指示器? - 2

    我在Rails应用程序中使用CarrierWave/Fog将视频上传到AmazonS3。有没有办法判断上传的进度,让我可以显示上传进度如何? 最佳答案 CarrierWave和Fog本身没有这种功能;你需要一个前端uploader来显示进度。当我不得不解决这个问题时,我使用了jQueryfileupload因为我的堆栈中已经有jQuery。甚至还有apostonCarrierWaveintegration因此您只需按照那里的说明操作即可获得适用于您的应用的进度条。 关于ruby-on-r

随机推荐