ubuntu虚拟机 13.10
开发板 tiny6410
最初在开发板上运行程序是将程序通过SD卡拷到tiny6410上,这是由于tiny6410支持SD卡,当然这也是外行人经常用的方法,但是很多开发板都是不支持SD卡的,这时候想要再把程序导入SD卡就不是一件容易的事了。但是NFS协议帮我们解决了这个问题,使用NFS协议,可以把虚拟机上的目录共享,使开发板可以直接访问虚拟机上的目录(跟访问自己本机目录一样),这样tiny6410也不用来回用SD卡导程序了。
废话少说,现在开始进入正题。
首先我使用的是xshell软件来控制tiny6410,没有使用超级终端,因为window7之后,系统就没有超级终端了,个人感觉xshell还不错。既可以通过串口通信控制开发板又可以使用ssh协议在主机端控制虚拟机,很方便。特别是由于历史原因,本人已经装了好多虚拟机,此时在虚拟机端就比较卡,但是用xshell在window7端敲命令就一点都不卡。哎呀,又跑题了,现在开始说如何使用NFS协议。
首先,你需要让开发板,主机本地连接和虚拟机的ip地址在同一网段,所谓在同一网段,就是要前三字段对应相同,至于为什么是这样,专业方面的东西我就不多说了。就前三个字段对应相等就对了,免得说的太对,更迷糊。开发板默认ip地址都是192.168.1.230,所以我选择把本地连接地址改为192.168.1.231,在win7中打开网络和共享中心,咦,没有本地连接???亲,确认你的网线一端插在开发板上,一端插电脑上了吗,确认你开发板电源打开了吗?ok,此时就出现本地连接了。
更改本地连接中手动设置ip,如何
之后就是设置虚拟件了 在虚拟机菜单栏中 VM - > Settings ->Network Adapter 设置网络连接为custom VMnet1(bridged) 如下图所示:
关闭之后再设置虚拟机中ip地址 在终端中设置ip地址为192.168.1.232
命令如下:
ifconfig eth0 192.168.1.232
此时ip地址就已设置完毕。
在终端中检测三者是否能互相ping通。若能ping通,则说明ip地址配置没有问题。
之后就是设置共享目录了,在虚拟机中查看/etc中是否有exports文件,如果没有,此时很可能是你虚拟机还没有安装nfs服务器。此时你的虚拟机需要能够联网,安装nfs服务器。
在终端中运行apt-get install nfs-kernel-server
安装之后在/etc下就能够看到exports文件,vi /etc/exports 在文件尾行添加共享目录,如下图11行所示
其中 /mnt/tiny6410/是打算作为共享目录的目录。192.168.1.* 表示ip地址为192.168.1.*的任意主机可以访问,rw表示以读/写方式访问。
保存后,再启动nfs服务
/etc/init.d/nfs-kernel-server start
之后就可以挂载目录了。
在开发板终端中输入 mount如下图所示:
如图显示即挂载成功,把虚拟机中/mnt/tiny6410挂载到开发板/mnt/nfs中,此时再进入/mnt/nfs即能访问虚拟机中/mnt/tiny6410中的文件了。
注意在挂载之前应将主机和虚拟机的防火墙都关掉。
linux中查看防火墙状态命令为
/etc/init.d/iptables status
暂时关闭防火墙(重启后失效):
service iptables stop
暂时开启防火墙(重启后失效):
service iptables start
ubuntu中关闭防火墙如下图所示: