概述
在我们的开发过程中,在开发板和虚拟机之间的文件传输,不用配置的情况下,使用U盘进行拷贝是最简单的。但当频繁的进行文件传输,这U盘插来拔去的,麻烦的很。所以当我们需要进行频繁的文件传输时,就可以使用网络进行传输,下面介绍两种常用的文件传输方式。
第一种:NFS
简单来说就是将虚拟机的某个文件当作NFS服务端,开发板就将这个文件挂载到自己的某个目录下,这样,开发板上就可以使用这个目录了。
配置虚拟机:
安装NFS服务
使用如下命令安装 NFS 服务:
sudo apt install nfs-kernel-server
创建一个nfs文件夹,以后所有需要使用 nfs 的东西都放到这个“nfs”文件夹里面。
mkdir nfs
配置 nfs
NFS 允许挂载的目录及权限在文件/etc/exports 中进行定义,使用
如下命令打开 nfs 配置文件/etc/exports:
sudo vi /etc/exports
打开/etc/exports 以后在后面添加如下所示内容:
/home/nfs *(rw,sync,no_root_squash)
/home/nfs 是要刚才创建的 nfs 的目录,也就是上面命令 pwd 输出的内容,*代 表 允许 所有 的网络 段 访问 , rw 是可读 写 权限 , sync 是文 件 同步 写入 存储器 ,no_root_squash 是 nfs 客户端分享目录使用者的权限。如果客户端使用的是 root 用户,那么对于该共享目录而言,该客户端就具有 root 权限。
重启 NFS 服务:
sudo systemctl start nfs-kernel-server.service
查看共享的目录:
showmount -e
在 nfs 运行的过程中,修改了/etc/exports 配置文件,可以使用 exportfs 命令使改动生效,
具体命令:
sudo exportfs -rv
在开发板上使用
确保虚拟机和开发板可以ping通的情况下,运行挂载命令:
mount -t nfs 192.168.5.218:/home/nfs /mnt -o nolock
其中 192.168.5.218是虚拟机的ip地址,/hmoe/nfs是虚拟机中之前在nfs 配置文件/etc/exports中配置的目录, /mnt是开发板中挂载虚拟机的目录。
没报错的话,就可以看到mnt目录下有虚拟机nfs目录下的文件。
第二种:tftp传输
待更新。。。。。