【IMX6ULL驱动开发学习】04.IMX6ULL开发板与虚拟机互传文件

互传文件前提:IMX6ULL开发板和虚拟机能够互相ping通,即在同一网段下且能够互ping
可参考这篇博客:
设置IMX6ULL开发板与虚拟机在同一网段

目录

一、使用SCP命令
二、通过SFTP服务传输文件(使用Xftp等工具)
三、通过NFS挂载虚拟机目录到开发板(推荐推荐推荐推荐推荐)

一、使用SCP命令

SCP命令的使用方法

需要知道远端的用户名和IP,上面命令可以将远端的一个目录拷贝到当前设备下
当然也可以将当前设备下的文件拷贝到远端,命令后面两个路径,前后位置调换一下即可

scp -r 远端用户名@远端IP:/home/user/......  ~/dir

以下命令作用:将虚拟机 /home/me/test.c 文件拷贝到当前目录
拷贝时制定了远端用户名,回车后输入远端虚拟机密码,即可完成文件传输

[root@100ask:~]# scp  [email protected]:/home/me/test.c ./
[email protected]'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工具为例
【IMX6ULL驱动开发学习】04.IMX6ULL开发板与虚拟机互传文件_第1张图片
第一次链接会弹出一个框,选择 “接收并保存” 即可

【IMX6ULL驱动开发学习】04.IMX6ULL开发板与虚拟机互传文件_第2张图片
这里便可以连接上我们的开发板,看到开发板下的文件了
同样道理连接虚拟机,改一下IP,用户名和密码即可
最终得到如下结果,可以在虚拟机和开发板直接互传数据

【IMX6ULL驱动开发学习】04.IMX6ULL开发板与虚拟机互传文件_第3张图片
开发板端查看文件,看到压缩包已经传输过来了

[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挂载文件(推荐)

我们要做的是将虚拟机下的目录挂载到IMX6ULL开发板的/mnt目录下

虚拟机端:

确保虚拟机打开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盘

你可能感兴趣的:(IMX6ULL,驱动开发,linux,NFS,SFTP,SCP)