nfs服务是什么就不用多说了,当你拥有一块linux开发板,在进行嵌入式开发的时候,或许就需要用到。简单的来说就是把自己的电脑上的文件,通过nfs服务共享到自己的开发板,电脑作为nfs服务器,而开发板作为客户端。
接下来介绍如何搭建和配置nfs服务器。
1、电脑安装nfs服务器
sudo apt-get install nfs-kernel-server
2、安装完之后,新建一个目录做为 NFS 的一个工作目录,以后我们可以把交叉编译的程序放在这个目录里,开发板可以很方便共享到这个目录里的文件。我自己创建的是/home/xsq/hisi_mnt/
3、使用下面命令编辑/etc/exports 文件,配置 NFS 服务路径。在最后一行添加:
/home/xsq/hisi_mnt *(rw,sync,no_root_squash,no_subtree_check)
sudo vi /etc/exports
4、执行下面命令重启 rpcbind 服务。nfs 是一个 RPC 程序,使用它前,需要映射好端口,通过 rpcbind 设定
sudo /etc/init.d/rpcbind restart
5、执行下面命令重启 nfs 服务
sudo /etc/init.d/nfs-kernel-server restart
到此,顺利的话,nfs服务器的搭建和配置基本完成。接下来就是执行挂载命令,将开发板的某个目录挂载到电脑的nfs服务器端。假设开发板是/mnt目录,那么挂载命令如下:
mount -t nfs 192.168.0.88:/home/xsq/hisi_mnt /mnt
注意,这样的挂载有个前提是,你的开发板也是0网段的,在同一个局域网下的挂载。如果你的开发板是其他网段的,需要跨网段挂载nfs的话,需要加上-o tcp的参数,可以换成如下命令:
mount -t nfs -o nolock -o tcp -o rsize=32768,wsize=32768 192.168.0.88:/home/xsq/hisi_mnt /mnt
如果没什么问题的话,这样就已经挂载成功了,接下来在开发板上的/mnt目录操作和在电脑的/hisi_mnt文件夹下的操作是同步变化的了。
可能遇到的问题
1、设置开发板的ip
ifconfig eth0 192.168.8.125
2、route命令看一下网关信息
可以看到没有网关,输入以下命令设置网关:
route add default gw 192.168.8.1
保证你的开发板插上网线能够ping通电脑就可以了。