openwrt上移植NFS服务器

Openwrt移植nfs服务器

选择nfs服务器

#make menuconfig

->Network

-> Filesystem

<*> nfs-kernel-server..............................Kernel NFS server support                      

<*>   nfs-kernel-server-utils.................................NFS server utils

  ->Kernel modules

-> Filesystems

-*-kmod-fs-nfs.......................................NFSfilesystem support

-*-kmod-fs-nfs-common.........................CommonNFS filesystem modules                      

-*-kmod-fs-nfsd................................... NFS kernel server support

挂载nfs文件系统

Base system->

<*> busybox --->

->Linux System Utilities 

[*]   Support mounting NFS file systems

 

注意:1)不要选择其他项。在openwrt中,NFS v2v3v4版本之间有冲突,rpcbind服务拒绝。

      2)不要make kernel_menuconfig,如果进入,不要选择与nfs相关的。

选择好以后,执行make V=s进行编译。

    可能出现错误,是因为下载库失败,支持NFS网络文件系统,需要下载librpc库,但是编译过程中命令出现错误,下载网址中没有该库,所以需要手动下载一个librpc-0.9.32-rc2-0a2179bbc0844928f2a0ec01dba93d9b5d6d41a7.tar.gz。下载好后将其库拷贝到openWrt源码目录mtk-openwrt-3.10.14-proc/tmp/dl下。

然后进行make V=s

编译成功,结果如下图:

openwrt上移植NFS服务器_第1张图片

配置启动nfs

主要是exports配置文件

修改如下:(sda1是你要挂载的硬盘名称)

/mnt/sda1*   (rw,sync,no_root_squash,no_subtree_check)

括号内的参数意义描述如下:

rw:读/写权限,只读权限的参数为ro

sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。

no_root_squashNFS服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。

   配置好以后,务必执行命令#exportfsr (可能会报错,上电重启就好,再执行一次)

   开启nfs服务前,必须先开启portmap服务

   #/etc/init.d/portmap enable

#/etc/init.d/portmap start

#/etc/init.d/nfsd enable

#/etc/init.d/nfsd start

这样就开启了nfs服务。

在其他终端,执行mountt nfs 路由器ip地址:/mnt/sda1 /mnt/nfso nolock

         例如:mountt nfs 192.168.1.1:/mnt/sda1 /mnt/nfs

         如果挂载不上加上 -o nolock 是文件锁的意思

卸载的话,sudo umount /mnt/nfs即可。

在源码中直接修改exports配置文件,这样就不用烧写后去板卡上修改配置文件。

源码中目录位置mtk-openwrt-3.10.14/openwrt-3.10.14/files/etc


你可能感兴趣的:(openwrt上移植NFS服务器)