搭建嵌入式nfs时,嵌入式开发板上的系统必须支持nfs客户端。
本文档基于:ubuntu系统 virtualbox虚拟机 fl2440开发板
1. 在电脑服务器端下载并安装nfs
$ sudo apt-get install nfs-kernel-server nfs-common portmap
2.配置共享文件
将服务器端(电脑)上一个文件夹作为共享文件夹,以后客户端(开发板)将通过网络文件系统NFS访问这个文件夹。我这里把/work/nfs_root作为共享目录。
打开配置文件
$ sudo gedit /etc/exports
将下面这句话添加在这个文件最后。
/work/nfs_root *(rw,sync,no_root_squash)
注意nfs_root与*之间一定要有空格。而*号与后面就没有空格。*号代表ip地址(也可以是一确定的网段)。*代表允许所有的网络段访问,rw是可读写权限。保存。
可以通过sudoexportfs -rv 来更新 这个文件
3.重启NFS服务
sudo /etc/init.d/portmap restart //可改用 sudo service portmap restart
sudo /etc/init.d/nfs-kernel-server restart
4.服务器安装完之后可以这样测试。(这步只是检测, 若只想与开发板相连这步可略)
本地测试:$sudo mount 192.168.1.109:/work/nfs_root /mnt
执行后,可以在mnt目录下发现我的共享目录下的文件。
这样nfs应该就搭建成功了。其中192.168.1.109为服务端(电脑)的IP。
碰到的问题:如果设定了主机IP,而不是用*号时,在进行本地测试时,进行Mount时会遇到
mount.nfs: access denied by server while mounting 192.168.1.2:的问题
因为本地测试默认在127.0.0.1范围内寻址,所以当然不会寻找到192.168. .
所以用*号可以解决这个问题。
5.客户端(开发板)连接服务端
将客户端(开发板)插上网线接入网络,设置好IP。
在客户端终端输入:
#mount -t nfs -o nolock 192.168.1.109:/work/nfs_root /mnt(/mnt为实验板上的目录,也可是其他目录)
如果无任何输出说明连接成功了。
#cd /mnt
#ls
可以看到这个目录下有我主机的共享目录的中的内容了。这样NFS连接就成功了。
如果能正常挂载,而不能对文件进行copy,mv等操作,可能是文件大了。可用如下命令挂载:
#mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.109:/work/nfs_root /mnt(/mnt为实验板上的目录,也可是其他目录)
阅读(759) | 评论(0) | 转发(0) |