NFS 共享目录的制作过程。主要分为两个步骤:1、搭建 NFS 服务器2、配置内核。

NFS 是 Network FileSystem 的缩写,是由 SUN 公司研制的 UNIX 表示层协议
(pressentation layer protocol),NFS 是基于 UDP/IP 协议的应用。它的最大功能就是可
以通过网络让不同的机器,不同的操作系统彼此共享文件,可以通过 NFS 挂载远程主机的目录,访问该目录就像访问本地目录一样,所以也可以简单的将它看做一个文件服务器。通过NFS 服务,可以实现在线调试文件系统或应用程序,而不用像传统的方式生成文件系统镜像,然后烧写到 iTOP-4418/6818 的 eMMC里,再启动开发板。通过 NFS 服务可以提高调试的效率。

1 基本环境介绍
使用硬件环境是:
一台 PC,上面运行虚拟机 ubuntu、
一块 iTOP-6818 开发板。

PC 机和 iTOP-6818 开发板通过网线连接到路由器上面,路由器分配的网段是 192.168.2.x 的ip 地址,默认网关是路由器的 ip 地址,即 192.168.2.1。虚拟机 Ubuntu 的 ip 地址是
192.168.2.185,iTOP-6818 开发板的 ip 是 192.168.2.230,网段的子网掩码是255.255.255.0。大家要根据自己使用的网络环境来设置 ip 地址,设置原则是确保虚拟机Ubuntu 的 ip 和 iTOP-6818 开发板的 ip 在同一网段。

2 搭建NFS服务器
实现 NFS,需要一个主机作为 NFS 服务器,选择虚拟机 Ubuntu 作为主机。首先需要在
在虚拟机 Ubuntu 上安装 Ubuntu NFS 服务,这是一个软件包,可以使用 apt 命令下载(当
然,首先要保证虚拟机可以上网)。在 Ubuntu root 用户下输入“apt-get install nfs-kernel-server”命令安装 Ubuntu NFS 服务,如下图。

在安装过程中会提示”是否继续安装”的信息,输入”y”,如下图。

然后按回车,会继续安装。安装完成,如下图。

为了确保确实可以安装成功,再次执行“apt-get install nfs-kernel-server”命令,如下
图。

由上图可知,零更新、零新安装,说明安装已经成功。继续搭建 NFS 服务器。
在/etc/exports 文件的最后一行添加:
/home/minilinux/ *(rw,sync,no_root_squash),如下图。

下面讲解一下上面输入的内容都代表什么意思:
/home/minilinux/:要共享的目录;
*:代表允许所有的网络段访问;
rw:是可读写权限;
sync:是资料同步写入内存和硬盘;
no_root_squash:是 Ubuntu nfs客户端分享目录使用者的权限,如果客户端使用的是
root 用户,那么对于该共享目录而言,该客户端就具有 root权限;
其他 Ubuntu nfs 常用的参数有:
ro:只读访问
async :nfs 在写入数据前可以相应请求
secure: nfs通过以下的安全 TCP/IP 端口发送
insecure: nfs 通过 1024 以上的端口发送
wdelay:如果多个用户要写入 NFS 目录,则归组(默认)
no_wdelay:如果多个用户要写入 NFS 目录,则立即写入,当使用 async 时,无需此设

hide:在 nfs 共享目录中不共享妻子目录
no_hide:共享 nfs 目录的子目录
subtree_check:如果共享/usr/bin 之类的子目录时,强制 nfs 检查父目录的权限(默认)
no_subtree_check:和上面相对,不检查父目录权限
all_squash:共享文件的 UID 和 GID 映射匿名用户 anonymous,适合公用目录
no_all_squash:保留共享文件的 UID 和 GID(默认)
root_squash root:用户的所有请求映射成如 anonymous 用户一样的权限(默认)
no_root_squash root:用户具有根目录的完全管理访问权限
anonuid=xxx:指定 nfs服务器/etc/passwd 文件中匿名用户多的 UID
anongid=xxx:指定 nfs 服务器/etc/passwd 文件中匿名用户的 GID
请注意:如果使用的是 Ubuntu12.04 系统则执行这一步重启。
接下来重启 portmap 服务,输入“/etc/init.d/portmap restart”命令,运行结果如下
图。

请注意:如果使用的是 Ubuntu14.04 或者 Ubuntu16.02 系统则执行这一步重启。
接下来重启 rpcbind服务,输入“/etc/init.d/rpcbind restart”命令,运行结果如下
图。

最后重启 nfs 服务,输入“/etc/init.d/nfs-kernel-server restart”命令,运行结果如下
图。

至此,Ubuntu nfs 服务器端的配置完成。
3 测试NFS服务器
完成前面的搭建工作之后,可以在虚拟机 Ubuntu 本机上验证一下。把/home/minilinux
挂载到/mnt目录下,需要输入“mount -t nfs localhost:/home/minilinux /mnt”命令,并
使用“df”命令查看是否挂载成功,如下图。

可以看到上图中最后一行就是挂载的 nfs 文件系统,这说明 Ubuntu nfs服务器端搭建成
功了。
最后可以使用命令“umount /mnt”卸载 NFS。下面进行开发板上的测试。
4 NFS共享目录使用介绍
通过路由器网线连接开发板和路由器。系统起来后首先使用“ifconfig”查看开发板 ip。
如下图。

然后查看一下 NFS 服务器的 ip。

可以查看到开发板和服务器在同一网段,如果不在同一网段然后修改开发板的 ip。
使用 ping命令测试网络,如下图所示,开发板和 ubuntu 服务器之间的网络是连通的。

在开发板的/mnt目录下,使用命令“mkdir nfs”新建一个目录,作为开发板的 NFS 同
步目录。
然后使用
“mount -t nfs -o nolock 192.168.2.185:/home/minilinux /mnt/nfs”
命令挂载到 nfs 服务器,如下图所示。

进入虚拟机 Ubuntu 系统中的”/home/minilinux”目录(这个目录是 NFS 服务器目
录),使用”vim hello”命令新建 hello 文档,并添加“hello topeet nfs”内容,如下图。


接下来查看开发板上的信息,如下图。

最后可以使用命令“umount /mnt”命令卸载 NFS 目录。
由上图可知,开发板和虚拟机可以完成同步,方便调试。至此,nfs 共享目录的制作和使
用介绍全部结束。

本文转自:http://www.topeetboard.com

iTOP-6818开发板设置NFS共享目录的实现的更多相关文章

  1. 把Linux目录挂载到开发板、设置开发板从NFS启动、取消开发板从NFS启动

    声明:文中"PC虚拟机Linux"是指在PC上安装了虚拟机,然后在虚拟机中装的Linux. 关于NFS的详细介绍可参考:http://www.cnblogs.com/nufangr ...

  2. iTOP-4412/4418/6818开发板-fastboot烧写脚本

    在 iTOP-4412,4418,6818 开发板烧写的时候,使用的是 fastboot 工具. fastboot 工具需要在 cmd.exe 中调用,每次都需要输入烧写命令,这样步骤有点多.在程序员 ...

  3. 迅为iTOP-4418/6818开发板-驱动-实现GPIO扩展

    实现 GPIO 扩展,先弄清楚“复用”的概念,将调用这些 GPIO 的驱动去掉配置,重新编译,加到自己的驱动中,就可以实现扩展的 GPIO 的输入和输出.另外必须要先看文档“迅为iTOP-4418开发 ...

  4. 迅为iTOP-4418/6818开发板MiniLinux下的GPS使用手册

    平台:iTOP-4418/6818开发板 系统:MiniLinux 在 Mini Linux 系统环境下 iTOP-4418 和 6818 的 GPS 实验调试步骤.给用户提供了“iTOP-4418- ...

  5. Msftables之Linux NFS共享目录配置漏洞

    实验目的 1.了解Metasploitables靶机系统漏洞: 2.学习使用Metasploit. 实验原理 msftables之利用Linux NFS共享目录配置漏洞渗透. 实验内容 msftabl ...

  6. Suse 创建NFS共享目录

    Suse 创建NFS共享目录 服务端的配置: 1.编辑nfs服务的配置文件 /software/suse11 *(rw,sync,no_root_squash,no_all_squash) 凝视: / ...

  7. iTOP-4418开发板和6818开发板-第五路串口介绍

    iTOP-4418开发板和6818开发板 的除去默认 4 个串口的配置和用法. 4418 的开发板最多支持 5 路串口,如下图所示,4418 的 datasheet.   6818 的开发板最多支持 ...

  8. 支持动态调频_配置AXP228电源管理_4核8核兼容设计_iTOP-4418/6818开发板

    iTOP-4418/6818开发板 支持动态调频,AXP228电源管理, 系统支持:Android4.4/5.1.1.Linux3.4.39.QT2.2/4.7/5.7.Ubuntu12.04 内存: ...

  9. CentOS 7设置Samba共享目录

    1. 安装Samba服务 yum -y install samba # 查看yum源中Samba版本 yum list | grep samba # 查看samba的安装情况 rpm -qa | gr ...

随机推荐

  1. CRM 2011 开发中遇到的问题小结

    1.将Retrive 方法改成 RetrieveMultiple时 如果指定的ColumnSet 没有指定主键(entiryname+id),要显示增加实体的主键.否则在调用 Retrieve方法时返 ...

  2. Mac下svn搭建和使用方法

    先安装svn服务器,然后执行以下步骤: 1.创建svn服务器库:svnadmin create ~/Documents/tools/svn/server/code 2.启动svn服务器:svnserv ...

  3. 四.OC基础--1.文档安装和方法重载,2.self和super&static,3.继承和派生,4.实例变量修饰符 ,5.私有变量&私有方法,6.description方法

    四.OC基础--1.文档安装和方法重载, 1. 在线安装 xcode-> 系统偏好设置->DownLoads->Doucument->下载 2. 离线安装 百度xcode文档 ...

  4. Junit常用操作

    断言方法: public static void assertEquals(Object[] expected, Object[] actual) // 测试a是否等于b public static ...

  5. css层叠上下文和层叠顺序

    普通元素的层叠水平优先由层叠上下文决定,因此,层叠水平的比较只有在当前层叠上下文元素中才有意义. 诸位千万不要把层叠水平和CSS的z-index属性混为一谈.没错,某些情况下z-index确实可以影响 ...

  6. softmax regression in c++

    #include <iostream>#include <vector>#include <cmath>#include <algorithm>#inc ...

  7. TCP、UDP和HTTP关系

    TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层.IP:网络层协议: TCP和UDP:传输层协议:TCP提供有保证的数据传输,UDP不提供. HTTP:应用层协议(超文本传输协议): 如 ...

  8. CodeForces 723D Lakes in Berland (dfs搜索)

    题意:给定一个n*m的矩阵,*表示陆地, . 表示水,一些连通的水且不在边界表示湖,让你填最少的陆地使得图中湖剩下恰好为k. 析:很简单的一个搜索题,搜两次,第一次把每个湖的位置和连通块的数量记下来, ...

  9. E20180218-hm-xa

    更新: 2019/02/19 原来忘记分类,把此博文归入单词类 vocabulary  n. (某一语言的) 词汇; (尤指外语教科书中附有释义的) 词汇表; grammar  n. 语法; 语法书; ...

  10. 洛谷 P1081 开车旅行【双向链表+倍增】

    倍增数组的20和N写反了反复WAWAWA-- 注意到a和b在每个点上出发都会到一个指定的点,所以这样构成了两棵以n点为根的树 假设我们建出了这两棵树,对于第一问就可以枚举起点然后倍增的找出ab路径长度 ...