虚拟机与开发板间文件传输的几种方法

您所在的位置:网站首页 linux怎么往u盘里拷贝 虚拟机与开发板间文件传输的几种方法

虚拟机与开发板间文件传输的几种方法

2024-06-14 14:46| 来源: 网络整理| 查看: 265

方法一:U盘

U盘从虚拟机拷贝文件后,插入开发板,会自动挂载到/mnt/usb目录下。可通过cp命令复制所要文件到开发板相应目录中即可。

方法二:使用NFS这种方式,PC虚拟机Ubuntu是作为服务端,开发板作为客户端,也就是说,开发板上使用mount命令来挂载服务器(也就是PC虚拟机Ubuntu)上的某个文件夹,从而实现文件互传。

前提:PC机与开发板间的网络正常,即相互可以ping通。 如果只有单向可以ping通(比如windows可以ping通开发板,而开发板ping不通windows),可能是windows防火墙拦截,关闭windows防火墙即可。 开发板IP修改方法:

[root@iTOP-iMX6UL]:/# vi etc/eth0-setting IP=192.168.0.230 Mask=255.255.255.0 Gateway=192.168.0.1 DNS=192.168.0.1 MAC=08:90:90:90:90:90

运行命令使修改后的IP地址生效

[root@iTOP-iMX6UL]:/# /etc/init.d/ifconfig-eth0 restart

1)在PC虚拟机Ubuntu上安装NFS服务

root@ubuntu:~# apt-get install nfs-kernel-server

2)修改配置文件

root@ubuntu:~# vi /etc/exports

在文件中添加类似以下的内容,下面的例子里允许开发板通过 NFS 访问 Ubuntu的/home/nfs 目录:

/home/nfs/ *(rw,sync,no_root_squash)

3)重启NFS服务

root@ubuntu:~# /etc/init.d/nfs-kernel-server restart

查看NFS服务是否启动

root@ubuntu:~# netstat -a | grep nfs

如果能搜索到nfs,则表示服务已启动。 在这里插入图片描述 4)在开发板上挂载Ubuntu的NFS服务(//如果不成功,就把 vers=2 改为 vers=3 或 vers=4 )

[root@iTOP-iMX6UL]:/# mount -t nfs -o nolock,vers=2 192.168.0.116:/home/nfs /mnt

如果一切正常,便可以在 Ubuntu 上把文件放到/home/nfs目录中,在开发板上可以从/mnt 目录中访问该文件。(其中192.168.0.116为虚拟机IP) 另外,如果需要卸除目前挂在Linux目录中的文件系统,则可以使用umount命令。

[root@iTOP-iMX6UL]:/# umount /mnt 开发板中实现NFS的自动挂载

修改开发板的/etc/fstab文件来实现自动挂载文件系统 在其后添加如下一行: 192.168.168.109:/rootfs /nfsroot nfs default 0 0

注: 192.168.168.109:/rootfs 是我的Linux下的主机的ip的根目录下的rootfs文件,我们的目的是将/rootfs这个文件挂载到开发板上。因此,我们要想每次都能保证挂载成功,需要将Linux下的主机的ip设为固定ip。 /nfsroot是我们开发板的文件,这个用专业术语叫做挂载点,这样我们在开发板就可以通过/nfsroot这个目录就可以修改或查看Linux的主机的/rootfs目录,同理,Linux的主机也可以修改或查看开发板的/nfsroot目录,两者所保存的内容是一样的且同步。 nfs是指定挂载的文件系统的类型 default是指定文件系统的参数,这个我们一般默认选择default即可,具体介绍可以参考《鸟哥的Linux私房菜 基础学习篇》中的第八章第4节,里面关于这些讲得很透彻。 0 表示能否被dump备份指令作用 0表示是否以fsck检验扇区 修改完/etc/fstab这个文件之后,退出保存即可。

方法三:通过串口传输

开发板端使用”rx 文件名“命令后,然后使用Xmodem,选择要发送的文件 。

方法四:TFTP传输 [root@iTOP-iMX6UL]:/mnt/nfs# tftp -g -r watchdog2 192.168.1.60

参数说明: -l 是local的缩写,后跟存在于Client的源文件名,或下载Client后 重命名的文件名。 -r 是remote的缩写,后跟Server即PC机tftp服务器根目录中的源文 件名,或上传Server后重命名后的文件名。 -g 是get的缩写,下载文件时用, -p 是put的缩写,上传文件时用, tftp 默认占用的是69端口。 1)从Server下载文件到Client时,使用下面的命令:

#tftp –g –l 目标文件名 –r 源文件名 服务器地址

如命令

#tftp –g –l B.txt –r A.txt 192.168.1.2

的作用是从server中的tftp根目录下,下载文件A.txt到Client并更名为B.txt;若不更名,B.txt就改为A.txt. 2)从Clinet上传文件到Server时,使用下面的命令:

#tftp –p –r 目标文件名 -l 源文件名 服务器地址

如命令

#tftp –p –r D.txt –l C.txt 192.168.1.2

的作用是从Client上传文件C.txt到Server的tftp根目标下,并更名为D.txt;若不更名,D.txt就改为C.txt. 这个命令一般是用于下载或上传后进行更改文件名,如若不更改文件名,可使用以下简单命令不更名下载或上传. 3)不更名下载命令:

#tftp –g –l/-r 源文件名 服务器地址 //(此时参数-l与-r等效,使用时只使用其中一个);

如tftp –g –l A.txt 192.168.1.2或 tftp –g –r A.txt 192.168.1.2 作用相同,都表示Client从Server下载文件A.txt,且不更名。 4)不更名上传命令:

#tftp –p –l/-r 源文件名 服务器地址 //(此时参数-l与-r等效,使用时只使用其中一个);

如tftp –p –l B.txt 192.168.1.2或 tftp -p –r B.txt 192.168.1.2 作用相同,都表示从Client上传文件B.txt到Server,且不更名。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3