1.虚拟机安装配置NFS


1)#sudo apt-get install nfs-kernel-server nfs-common portmap


  #sudo dpkg-reconfigure portmap 选择否


安装方式很多,一般不会有问题,注意不要将portmap绑定在loopback地址上。


安装完以后查看cat /etc/default/portmaps,确定#OPTIONS="-i 127.0.0.1"确定这句被注释了。


2)启动portmap服务


#sudo /etc/init.d/portmap restart


3)建立共享文件


#mkdir /home/nfs 这是我的nfs共享文件目录


编辑/etc/exports


#vim /etc/exports


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


表示共享目录,允许访问的IP以及读写权限之类的。


4)重启NFS服务


#sudo /etc/init.d/nfs-kernel-server restart


sudo exportfs -a  //查看能够挂接哪些目录

2.网络配置



网络配置比较麻烦,需要将虚拟机设置为桥接方式,并且要求主机IP,虚拟机IP以及开发板IP位于同一个网段。要求在三者之间能够ping通。



我的主机本地连接如下:



IP  :49.123.109.130



MASK:255.255.255.192



GW  :49.123.109.190



DHCP:10.62.66.125



DNS :202.197.96.1



需要配置的虚拟机以及开发板的IP。



1)设置VMware桥接模式



可以参考 讲的很详细。



如果能宽带上网,配置的桥接可以连入网络。虚拟机的IP也已经配置好。



配置好后的虚拟机IP是:



IP  :49.123.109.131



MASK:255.255.255.192



GW  :49.123.109.191



配置好后,主机与虚拟机就可以ping通了。



2)配置开发板IP



OK6410开发板IP默认为192.168.0.232,Bcast:192.168.0.255,MASK:255.255.255.0



试过很多方式,都没能成功。有网友介绍说在UBOOT下设置bootargs,我在改过以后直接导致我的开发板无法启动,最后只好又改过来。后面通过ifconfig可以设置好。



ifconfig eth0 49.123.109.132 netmask 255.255.255.192 up



配置好后,在用ifconfig命令查看,可以看到IP已经改过来。网关没有改,不过貌似没有关系。



上面的命令只在OK6410下是正确的,其他开发板可能要修改一下。但是依然有问题,当板子重启后,IP又回到了原来的IP地址。我只好在执行下上面的命令。



配置好以后,用网线连接开发板和PC,可以相互ping通。ping不通的情况下,可以试下关闭防火墙。我的电脑需要关闭防火墙才可以ping通。

3.测试NFS



如果能再主机、虚拟机和开发板之间Ping通,就可以测试NFS了。



1)开发板中建立一个挂载点



#mkdir /mnt/nfs 虚拟机中共享目录的内容会被挂在到这个目录下。



2)mount



关于mount有很多参数,执行的时候也很容易出错。



我执行的参数有下面几个



#mount -t nfs -o nolock 49.123.109.131:/home/nfs /mnt/nfs



挂载时如果提示错误No such device 可以查看下开发板内核有没有支持NFS



cat /proc/filesystems



如果显示nodev nfs,表示内核有支持NFS。



如果没有提示错误,则表示挂载成功,可以在/mnt/nfs目录下看到共享目录的文件以及文件内容。



如果需要修改虚拟机里共享文件的内容,则重新mount一下,我重新mount的时候会出错,提示Device or resource busy...



不过查看/mnt/nfs的文件内容,也可以挂载进来。。。