嵌入式linux实现mount挂载nfs服务器拷贝文件

一、前言

嵌入式设备进行调试时,拷贝程序是必不可少的,嵌入式设备拷贝程序的方式有很多,串口传输工具sz、rz,网络的scp,TFTP、nts挂载等方式,本博客介绍的nfs挂载的方式拷贝程序。

二、搭建nfs服务器

一般在本地虚拟机ubuntu搭建nfs服务器就行,具体流程,可以查看我的博客ubuntu下nfs服务的搭建;

三、嵌入式linux内核支持nfs挂载

1、配置开启nfs服务
File systems --->
Network File Systems --->
<*> NFS client support
[*] NFS client support for NFS version 3 [*] NFS client support for the NFSv3 ACL protocol extension
[*] NFS client support for NFS version 4 (EXPERIMENTAL)
[*] NFS client support for NFSv4.1 (DEVELOPER ONLY)
[*] Root file system on NFS

一般的SDK内核默认就支持,如果不支持,打开上面配置就行。

四、挂载nfs服务器的共享文件夹:

mount  -o nolock    192.168.111.2:/nfs        /mnt 

如果没有报错,并且/mnt下有/nfs下的文件,证明挂载成功。

五、错误分析:

1、出现Permission denied的错误

mount: 192.168.111.2:/nfs/  failed, reason given by server: Permission denied

说明nfs服务器没搭建好,或者挂载的目录有问题;

2、出现Network is unreachable的错误

mount: RPC: Unable to send; errno = Network is unreachable

说明设备网路没配置好,这里举个例子,nfs服务器IP地址为192.168.111.2,那么你的嵌入式有线网路设备的IP也得是192.168.111网段,当你可以ping通nfs服务器IP:192.168.111.2,证明你的网络是正常的,嵌入式设备和nfs服务器需要在同一个局域网内,并且是同一个网段。

3、出现 No such device的错误

mount: mounting 192.168.111.2:/nfs on /mnt failed: No such device

说明linux内核不支持nfs,按照上面第三点配置就行。

 

你可能感兴趣的:(linux环境开发)