目标板挂载NFS方法及错误解决

一、检查nfs状态

#service nfs status

二、在主机创建nfs共享文件夹:

#mkdir /nfsroot

#cat /etc/exports

/nfsroot 192.168.1.118(rw.sync,no_root_squash)

这里创建了/nfsroot以用于nfs共享,并在/etc/exports文件中将共享属性IP设置为192.168.1.118(开发板的IP)的用户可读写,并且由no_root_squash指定信任客户端。

三、启动主机nfs服务

#service nfs start

四、在开发板mount主机共享文件

#mount 192.168.1.100:/nfsroot  /mnt/

无任何提示表示成功,可以操作/mnt目录,cpmv文件等。

可能出现的错误提示:

# mount -t nfs 192.168.1.249:/appdata /mnt

portmap: server localhost not responding, timed out

RPC: failed to contact portmap (errno -5).

portmap: server localhost not responding, timed out

RPC: failed to contact portmap (errno -5).

lockd_up: makesock failed, error=-5

portmap: server localhost not responding, timed out

RPC: failed to contact portmap (errno -5).

mount: Mounting 192.168.1.249:/appdata on /mnt failed: Input/output error

可能原因:

nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能;

简单的解决方法:kill 文件锁(lockd)或者mount -o nolock

上面说的文件锁具体是什么原因,还没有找到更好的解决办法。

注意:主机防火墙有设置时,也可能导致目标板无法正常访问,建议最好设置为无防火墙。

改用:mount -o nolock 192.168.1.100:/nfsroot /mnt 可解决。

编辑/etc/exports文件,格式可以参考man exports,里面有详细的参数说明和示例。

如,要共享主机的/appdata目录给目标板,具有读写功能,一般都指定用户(root)来操作,否则默认会出现uidgid都是-2的数字(可以通过anonuidanongid来设置匿名操作的相关ID,或者用root_squash来设置root操作),最后写出的exports样子如下:

#cat /etc/exports

/appdata 192.168.1.*(rw,sync,no_root_squash)

root执行exportfs r,重新加载导出内容,若修改了文件exports,直接执行此命令即可;

启动portmap服务,service portmap start ;(为什么要这个?因为portmap定向RPC通信数据流,若不运行portmap,则NFS客户机无法找到从NFS服务器共享的目录。)

启动nfs服务,service nfs start

注意:启动目标板并连通网络后,首先查看kernel自身是否支持nfs

cat /proc/filesystems

查看其中是否有nfs一行,若没有则表示内核不支持nfs,就需要重新编译和烧内核;有则OK,接下来就可以直接mount操作。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值