nfs连接(转载加修改)

1、IP地址设置

       设置主机、虚拟机以及开发板静态IP(不能使用自动获取IP),确保3个静态IP地址处于同一网段(192.168.1.*),如:

       主机:192.168.1.10  默认网关:192.168.1.1 首选DNS:202.96.128.86

       虚拟机:192.168.1.100

       开发板:192.168.1.207

2、虚拟机连接方式设置

       在虚拟机VMware里面:选择 edit(编辑) -> Vitual Network Editor(虚拟网络编辑器) ,选中VMnet0,在下面的VMnet Information中,点Bridge to(桥接到):选择自己的有线网卡(有线网卡可通过以太网属性查看,非无线网卡),然后选择虚拟机VMware右下角的网络设配器,进入虚拟机设置,选择连接方式:Custom VMnet0(Bridged),完成保存。

3、开发板网络设置

        开发板上的网络设置问题,开发板IP设置为如上192.168.1.207,其余的在不联网的情况没有影响。如果你是用uboot的话,除了开发板的IP设置,服务器也要设置为要直连对象的IP。也就是说,如果是虚拟机与开发板直连的话,那uboot的serverip要设置为虚拟机的IP,即192.168.1.108,若是开发板与主机相连的话,则serverip要设置为主机的ip,即192.168.1.10。
4、关掉各系统的防火墙。

主机Ping通虚拟机

开发板Ping通虚拟机

 

 

 

 

 

 

 

一般在Linux主机上arm-linux-gcc编译程序,然后将该生成的可执行文件发送给ARM开发板,ARM开发板再运行该文件。

(主机Linux系统)--->ARM开发板Linux系统)  传送文件的过程可以采用NFSFTP等多种方法

采用NFS实现远程挂载,ARM开发板可以直接运行主机上的程序,而不需要下载到开发板上,也是用的最多的方法

 

1ARM开发板上电,启动Linux

2,查看开发板Linux内核是否支持NFS

      执行 cat /proc/filesystem

      若有一行为 nodev nfs,则开发板Linux内核支持NFS,反之需要配置内核

      同样方法查看Linux主机内核是否支持NFS

3,配置主机共享目录

      执行 gedit /etc/exports更改主机NFS配置

      在最后一行添加 /nfs_root *(rw,sync,no_root_squash)表示将主机 /nfs_root设置为共享目录,所有Linux系统都可以挂载该目录

      若添加 /nfs_root 192.168.1.100(rw,sync,no_root_squash)表示只有IP192.168.1.100Linux系统能挂载该目录

4,主机启动NFS服务

      sudo service nfs start 或者 sudo service nfs-kernel-server restart

5ARM开发板挂载主机共享目录

      开发板上执行 mount 192.168.1.139:/nfs_root /mnt

     mount -o nolock -t nfs192.168.1.139:/nfs_root /mnt

      其中,192.168.1.139是主机IP/nfs_root是主机共享目录,/mnt表示将该共享目录挂载到ARM开发板/mnt目录下

6,若未报错,则挂载成功

      开发板上执行 ls /mnt

      可以看到ARM开发板/mnt下的内容与主机/nfs_root下内容一致

7,若报错

rpcbind: server localhost not responding, timed out
RPC: failed to contact local rpcbind server (errno 5).
rpcbind: server localhost not responding, timed out
RPC: failed to contact local rpcbind server (errno 5).
lockd_up: makesock failed, error=-5
rpcbind: server localhost not responding, timed out
RPC: failed to contact local rpcbind server (errno 5).

      可能是主机防火墙或者文件锁的原因。

      开发板上执行 mount -o nolock -t nfs192.168.1.139:/nfs_root /mnt

      重新挂载,成功。

8,若仍未成功,可根据报错信息查看http://wenku.baidu.com/link?url=Ze35J5DwpLbZZKU59t4xDiHKrY4TRLLzsOrYp3jTJN1u3mXv10i99JP7FRVPSrECnLQiuQ2lFBRgB7Bo_2ld4vnhoohgrrqvTtDd-R0XOO7

 

NFS mount failed, reason given by server: Permission denied

 

1. 查看系统有没有nfs功能

cat /proc/filesystes

2. ntsysv 命令选中nfs

service nfs restart,看能否啟动,如不能正常,可以查看相应的出错信息

tali /var/log/messages

3. 配置/etc/exports

eg: /home/mis    *(rw)

此文件是配置相关的文件和一些权限,上面的设置表示,所有的用户对/home/mis都有读写的权限

 

 # /etc/exports: the access control list for filesystems which may be exported

  2 #       to NFS clients.  See exports(5).

  3 #

  4 # Example for NFSv2 and NFSv3:

  5 # /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)

  6 #

  7 # Example for NFSv4:

  8 # /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)

  9 # /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)

 10 #

 11

 12

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

 14 /mnt *(rw,sync,no_root_squash)

 15 /opt *(rw,sync,no_root_squash)

 16 #slq 此文件是配置相关的文件和一些权限,上面的设置表示,所有的用户对/home/mis都有读写的权限

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

 18 /slq/nfs *(rw,sync,no_root_squash)

 

 

4. 执行sudo exportfs -a 表示将所有的更新.

5. sudo service nfs restart

这两条命令注意root权限

6. 执行mount命令

eg: mount 10.0.1.153:/home/mis  /mnt/mis

 

mount -t nfs -o nolock 192.168.0.233:/home/ls/nfs /mnt/ls

 

 

mount -t nfs -o nolock 192.168.0.233:/home/slq/nfs /mnt/slq

 

 

mount -t nfs -o nolock 192.168.0.233:/slq/nfs /mnt/slq

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值