调试工具 - 目录共享 - NFS 网络文件系统

说明

  • NFS 是网络文件系统,可以在Linux 系统之间实现目录共享;嵌入式开发中也可以将PC linux系统上的目录直接mount到开发板上,调试程序非常方便。
  • NFS也是最简单的在开发板和PC上共享目录的方式。
  • 在linux上可以通过nfs将其它linux系统上的目录直接mount到本地目录。

好处

  • 在嵌入式开发中经常用到,优点如下:
  1. 因为嵌入式设备存储空间一般较小,调试保持文件较多,容易出现剩余空间不足,nfs不需要将文件拷贝至嵌入式设备中,相当于扩大了嵌入式设备的存储空间大小。
  2. 不需要进行文件拷贝,代码调试时,经常需要将编译好的文件和环境拷贝到设备中,nfs可以直接将PC上的目录映射到设备端,不需要进行文件拷贝,更高效。
  3. 方便调试,共享目录后,嵌入式程序可以直接操作PC上的共享目录中的文件,将log或者其它数据写入PC磁盘,可以避免需要从设备中获取log。

使用方法

服务器端

  • 在Debian/ubuntu上安装NFS非常容易,安装命令如下:
# sudo apt install nfs-common nfs-kernel-server
  • 创建共享目录和设置权限:
# mkdir /srv/upload
# chmod a+w /srv/upload
  • 然后修改/etc/exports文件,将需要共享的目录和客户端添加进来:
/srv/upload  192.168.1.100(rw,sync)
/srv/upload  *(rw,sync)
* 表示允许IP为192.168.1.100的客户端以rw的模式访问。如果以只读模式访问则设置为ro。
* 星号为通配符,表示支持所有设备
  • 然后启动服务:
# /etc/init.d/nfs-kernel-server start

客户端

  • 在客户端上安装NFS:
# sudo apt install nfs-common
  • 创建目录并挂载NFS:
# mkdir /mnt/upload
# mount -o nolock -t nfs 192.168.1.121:/home/lwh/project/ /tmp/nfs
* 不加 -o nolock可能会出现异常:阻塞很长一段时间,最终提示如下错误 
svc: failed to register lockdv1 RPC service (errno 110). 
lockd_up: makesock failed, error=-110
  • 此时已经可以写入/mnt/upload,对应的服务器端可以看到创建的文件。
  • 要在客户端每次启动时自动挂载NFS,可以编辑/etc/fstab,添加一行:
192.168.1.99:/srv/upload /mnt/upload nfs rsize=8192,wsize=8192,timeo=14,intr

嵌入式设备端

  • 嵌入式设备端也是客户端,需要在内核中配置nfs支持,不需要安装"nfs-common", 其它命令一致。
  • 查看设备内核是否支持nfs
cat /proc/filesystems
* 如果其中包含 nodev   nfs ,则表示内核支持 nfs,可以作为nfs客户端
* 如果包含nodev   nfsd, 则表示设备可以作为nfs服务器
  • 出货版本再去掉nfs支持。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值