本文前提:板卡为海思SD3403 主机为windows系统,虚拟机为ubuntu22.04
连接方式:板卡通过网线与电脑直连,ubuntu虚拟机可通过串口进入板端。主机使用wifi网络,板卡什么都没配置过,无法联网。
本文目的:通过共享文件夹的方式,实现板卡、主机、虚拟机之间的文件互通。
step1:配置三方网络互通
A. 设置电脑以太网ip
控制面板-网络和共享中心-更改适配器设置
以太网-属性-ipv4
设定主机以太网ip为192.168.100.99,ipconfig确认是否配置成功。
B. 设置虚拟机ip
设定虚拟机ip为192.168.100.89,ifconfig确认是否配置成功
若不成功,使用命令行:
sudo ifconfig ens33 192.168.100.33 netmask 255.255.255.0 up
ens33为实际需要配置的网口名称。
C. 查看板端ip
海思板卡使用toolplatform烧录时,服务器ip选择以太网ip,板端IP地址会默认为192.168.100.75
如需改变海思板卡IP地址,详见博客:
https://blog.youkuaiyun.com/Codieyoung/article/details/147045858?spm=1001.2014.3001.5502
D. 配置虚拟机桥接
点击虚拟网络编辑器,点击更改设置。将VMnet0设置为桥接模式,并且外部连接选择Realtek ...代表是以太网。
E. 测试三方互ping
设置完成后,测试三方互ping
此时主机ip 192.168.100.99
虚拟机ip:192.168.100.89
板卡ip:192.168.100.75
三方互ping成功。
step2 :配置共享文件夹
A. 在虚拟机中配置samba,实现虚拟机与主机的文件共享
sudo apt-get istall samba samba-common
sudo smbpasswd -a priscilla
nano /etc/samba/smb.conf
将以下内容粘贴到末尾:
[mm] #这是共享资源的名称,用于标识该共享资源。在Samba中,每个共享资源都需要一个唯一的名称,例如[mm]。
comment = priscilla
path = /home/priscilla/work
available = yes
browseable = yes
writable = yes
guest ok = yes
valid users = priscilla
重启samba: /etc/init.d/smbd restart
exit
创建相关文件夹,更改权限777
查看状态:sudo systemctl status smbd,应为active(running)
B. 在虚拟机中配置nfs,实现虚拟机与板卡的文件共享
sudo apt-get install nfs-kernel-server
sudo nano /etc/exports
增加:/home/priscilla/work/nfs *(rw,sync,no_root_squash,no_subtree_check)
运行sudo /etc/init.d/nfs-kernel-server restart
ssh-keygen -t rsa -b 4096
转到windows主机:
将路径下的:"C:\Users\ivlab\.ssh\id_rsa.pub"
复制到:"\\192.168.39.89\mm\nfs\id_rsa.pub"
将windows的公钥添加到authorized keys
cat ~/work/nfs/id_rsa.pub >> authorized_keys
step3 :实现三方文件互传
A. 主机挂载:
使用win+R ,输入用户名及密码后进入共享文件夹:
B. 板卡挂载:
使用命令:mount -t nfs -o nolock 192.168.100.89:/home/priscilla/work/nfs /mnt/net
注意:每次重新进入板端都需要重新挂载,其中ip地址为虚拟机地址。
进入板端文件夹,可以看到与主机、虚拟机文件夹互通:
可以实现三方文件互传!
注:如果文件夹挂载出现问题可参考我另一篇博文: