当前位置:   article > 正文

hyper-v ubuntu下连接嵌入式linux板卡

hyper-v ubuntu下连接嵌入式linux板卡

用hyper-v非常的方便,不用装vm也不会那么臃肿,但如何在hyper-v和嵌入式板卡之间进行通讯呢?

1.环境

采用的是100ask-imx6ull板卡,hyper-v装的是ubuntu22系统。
hyper-v根据文章hyper-v上外网已经配置了一个虚拟网卡。

2.物理连接

  • 通过USB连接PC和板卡USB-Serial口
  • 网线连接PC和嵌入式板卡,嵌入式板卡的网卡使用eth0;

3.电脑网卡之间通信

嵌入式板卡使用网线连接到PC本地网络连接网卡,那么本地网卡和hyper-v虚拟网卡两者如何通信呢?借助chatgpt,有两种方式:

  • 使用网络桥接
  • 使用静态路由(不好使)

这里选择网络桥接,设置中搜索“网络连接”:
在这里插入图片描述

按住ctrl键,选中虚拟机网卡和本地网卡,右键选择【桥接】:
在这里插入图片描述此时会报错,因为虚拟机网卡我们已经通过上篇文章hyper-v上外网,被WLAN网卡共享连接了:
在这里插入图片描述
这时候该怎么办呢?
这里选择的是给虚拟机再加一张虚拟网卡,将这个新的虚拟网卡和本地有线网卡进行桥接。

3.1 hyper-v添加新虚拟网卡

首先关闭hyper-v的虚拟机,不然无法添加网卡。
然后创建一个新的虚拟交换机:
在这里插入图片描述在这里插入图片描述

最后在指定的虚拟机设置中添加硬件:在这里插入图片描述
选择新增的虚拟网卡。
在这里插入图片描述

3.2 网卡再次桥接

选中本地以太网网卡和新的虚拟网卡,再次桥接,发现会创建一个新的【网桥】网卡:
在这里插入图片描述
注意这里你会发现两个原先网卡都没法设置IP了,此时只能改网桥网卡的IP,其实这个网桥就是两个网卡的公共网关。

3.3 IP配置

3.3.1 网桥IP

极其重要)不能设置为192.168.137.x段的,必须和之前的hyper-v虚拟网卡不同,否则网络不通:
在这里插入图片描述

3.3.2 虚拟机IP

启动hyper-v虚拟机,修改ip地址:

sudo vi /etc/netplan/00-installer-config.yaml
  • 1
network:
  ethernets:
    eth0:
      dhcp4: no
      addresses: [192.168.137.88/24]
      routes:
        - to: default
          via: 192.168.137.1
      nameservers:
              addresses: [8.8.8.8]
      optional: true
    eth1:
      dhcp4: no
      addresses: [192.168.138.88/24]
      routes:
        - to: default
          via: 192.168.138.1
      nameservers:
              addresses: [8.8.8.8]
      optional: true
  version: 2


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

这里eth0网卡为上网的网卡,eth1网卡为刚加的网卡,千万注意这里两个网卡的网关routes不能设置为同一个段的,eth1网卡的ip为192.168.138.x段,和网桥网关保持一致!

启用网卡:

sudo netplan apply
  • 1

从win下cmd ping测试:
在这里插入图片描述
在这里插入图片描述

3.3.3 嵌入式板卡静态IP配置

在mobaxtem中通过串口连接板卡,修改配置文件vi /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.138.22
    netmask 255.255.255.0
    gateway 192.168.138.1

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

注意这里网关为网桥的IP,重启网卡

/etc/init.d/S40network restart
  • 1

报错:
在这里插入图片描述
借助chatgpt,应该是网卡产生了冲突,执行指令:

ip addr
  • 1

可以看到eth0网卡的信息:

3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:01:3f:2d:3e:4d brd ff:ff:ff:ff:ff:ff
inet 169.254.7.130/16 brd 169.254.255.255 scope global eth0
valid_lft forever preferred_lft forever
inet 192.168.137.22/24 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::201:3fff:fe2d:3e4d/64 scope link
valid_lft forever preferred_lft forever
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

chat-gpt回复需删除一个,执行如下指令:

sudo ip addr del 169.254.7.130/16 dev eth0
  • 1

此时只剩一个了,直接ping虚拟机地址:
在这里插入图片描述
至此,虚拟机和嵌入式板卡已经通了,目前IP地址如下:

PC网桥:192.168.138.1
hyper-v内部eth0:192.168.137.88 ,对应的PC虚拟网卡:192.168.137.1
hyper-v内部eth1:192.168.138.88 ,对应的PC虚拟网卡没设置IP
嵌入式板卡:192.168.138.22

此时,嵌入式板卡可以和hyper-v内部的eth1进行通讯,hyper-v可以通过eth0访问外网,至于嵌入式板卡如何访问外网,这里目前考虑的是通过WLAN。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/1010822
推荐阅读
相关标签
  

闽ICP备14008679号