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
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


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

启用网卡:

sudo netplan apply

从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

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

/etc/init.d/S40network restart

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

ip addr

可以看到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

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

sudo ip addr del 169.254.7.130/16 dev eth0

此时只剩一个了,直接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。

  • 22
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值