nfs实现ubuntu与开发板OK6410文件共享

FS, 我们创建 NFS 的目的是通过网络对外提供目录文件共享服务。 NFS 的原理是在客户端通过网络将远程主机共享文件系统以挂载( mount )的方式加入本机的文件系统,之后的操作就如同在主机上一样。
正因为 ubuntu nfs 是一个 RPC( Remote Procedure Call Protocol 远程过程调用协议 服务程序 所以在使用它之前 先要映射好端口 —— 通过 portmap 设定 比如 某个 Ubuntu nfs client 发起 Ubuntu nfs 服务请求时 它需要先得到一个端口 (port).  所以它先通过 portmap 得到 port number. ( 不仅 Ubuntu nfs,  所有的 RPC 服务程序启动之前 都需要设定好 portmap)
主机端常用软件: nfs-kernel-server  客户端常用软件: nfs-common( sudo apt-get install nfs-kernel-server 的时候就安装上了 )
1.    
在主机端安装 nfs-kernerl-server
sudo apt-get install nfs-kernel-server ( 
内部包含了 nfs-common 客户端 )
2.    
修改/etc/exports 文件,该文件控制本地有哪些目录是可以通过nfs来访问的,且同时设置了访问的权限
gedit /etc/exports 
在最后一行加上     / nfsbooot  *(rw,sync,no_root_squash) 
其中  /nfsbooot   是欲通过网络文件系统访问的 目录  ,*  表示所有的客户端都可以访问
rw
表示客户端访问权限
通过 /etc/init.d/nfs-kernel-server status 查看该服务是否开启
若没有开启可通过   /etc/init.d/nfs-kernel-server start  开启   /etc/init.d/nfs-kernel-server restart 重启
nfs-common  客户端的服务程序可以 采用同样的操作。
可以通过以下命令 查看是否 能成功的运行 nfs 服务器端
Mount –t nfs localhost(或本机IP):/nfsbooot   /mnt
如果没有出现错误,则可以在 /mnt  目录中访问    nfsbooot     目录了。(本操作仍然在主机上进行  
然后连接开发板,不接 USB 线,(在虚拟机中没有对应的 USB 下载驱动,可能报错)   设置从 NAND FLASH 启动
6. 
设置虚拟机和开发板的 ip 地址 在此步骤需要注意以下问题:
       6.1 设置虚拟机与本地机的网络模式为桥接

       6.2 开发板与本地机的连接用交叉网线

       6.3 设置本地机,虚拟机,开发板的网络在同一个网段中

       在这里我设置为(本地机:192.168.1.101  虚拟机:192.168.1.100  开发板:192.168.1.20)

此外,还需要关闭虚拟机的防火墙。完成后可以用ping 192.168.1.100和虚拟机通信成功。
7. 
在开发板中挂载nfs文件系统:  mount –t nfs –o nolock 192.168.1.100:/nfsboot /mnt
8. 
测试,在虚拟机中的 /nfsboot 中建立   一个文件,   在开发板中很好的很快的出现了。


在安装过程中,在防火墙没有关闭之前,出现了连接不通的情况,终端报错:mount: RPC: Unable to receive; errno = No route to host

你可能感兴趣的:(nfs)