互传文件前提:IMX6ULL开发板和虚拟机能够互相ping通,即在同一网段下且能够互ping
可参考这篇博客:设置IMX6ULL开发板与虚拟机在同一网段
目录
一、使用SCP命令
二、通过SFTP服务传输文件(使用Xftp等工具)
三、通过NFS挂载虚拟机目录到开发板(推荐推荐推荐推荐推荐)
一、使用SCP命令
需要知道远端的用户名和IP,上面命令可以将远端的一个目录拷贝到当前设备下
当然也可以将当前设备下的文件拷贝到远端,命令后面两个路径,前后位置调换一下即可
scp -r 远端用户名@远端IP:/home/user/...... ~/dir
以下命令作用:将虚拟机 /home/me/test.c 文件拷贝到当前目录
拷贝时制定了远端用户名,回车后输入远端虚拟机密码,即可完成文件传输
[root@100ask:~]# scp me@192.168.1.200:/home/me/test.c ./
me@192.168.1.200's password:
test.c 100% 0 0.0KB/s 00:00
[root@100ask:~]# ls
I_am_6ULL.txt Linux-4.9.88.tar.bz2 test.c
[root@100ask:~]#
二、通过SFTP服务传输文件
使用Xftp工具或者FileZilla工具传输文件,以Xftp工具为例
第一次链接会弹出一个框,选择 “接收并保存” 即可
这里便可以连接上我们的开发板,看到开发板下的文件了
同样道理连接虚拟机,改一下IP,用户名和密码即可
最终得到如下结果,可以在虚拟机和开发板直接互传数据了
开发板端查看文件,看到压缩包已经传输过来了
[root@100ask:~]# ls
I_am_6ULL.txt Linux-4.9.88.tar.bz2
[root@100ask:~]# ls -l
total 121276
-rw-r--r-- 1 root root 0 Jan 1 02:30 I_am_6ULL.txt
-rw------- 1 root root 124186554 Jan 1 02:31 Linux-4.9.88.tar.bz2
三、通过NFS挂载文件(推荐)
虚拟机端:
确保虚拟机打开nfs服务
首先安装nfs服务
sudo apt-get install nfs-kernel-server rpcbind
配置nfs共享目录
sudo gedit /etc/exports
/etc/exports 文件最后添加一行(根据自己的文件路径而定)
/home/me/Linux_ARM/IMX6ULL *(rw,sync,no_root_squash,no_subtree_check)
表示 /home/me/Linux_ARM/IMX6ULL 目录下的文件都可以被挂载共享 (这一步必须做),* 表示可以可以被所有的服务器挂载,而不是单独的一个服务器IP
执行以下命令是配置生效
sudo exportfs -r
开发板端:
运行命令
mount -t nfs -o nolock,vers=3 192.168.1.200:/home/me/Linux_ARM/IMX6ULL/hello_driver /mnt
-t :指定服务类型
-o :表示参数
vers 表示版本
[root@100ask:~]# mount -t nfs -o nolock,vers=3 192.168.1.200:/home/me/Linux_ARM/IMX6ULL/hello_driver /mnt
[root@100ask:~]# ls /mnt
Makefile compile_commands.json hello_drv.ko hello_drv.mod.o hello_test modules.order
Module.symvers hello_drv.c hello_drv.mod.c hello_drv.o hello_test.c
[root@100ask:~]#
这样就可以在开发板的 /mnt 目录下访问到虚拟机的 /home/me/Linux_ARM/IMX6ULL/hello_driver 目录下的文件了,无论在哪一边增改文件,另一边都能实时同步 , 仿佛在IMX6ULL开发板上挂在了个大容量U盘