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. 有关MAC、PHY和MII

    这是一篇转载,原文链接:http://www.cppblog.com/totti1006/archive/2008/04/22/47829.html 以太网(Ethernet)是一种计算机局域网组网技 ...

  2. Chapter 20: Diagnostics

    WHAT'S IN THIS CHAPTER?n Code contractsn Tracingn Event loggingn Performance monitoringWROX.COM CODE ...

  3. problem in Sourcetree

    1.The date is commit date not the date of author 2.The log line is ordered  by time, actually it sho ...

  4. Oracle 删除用户和表空间////Oracle创建删除用户、角色、表空间、导入导出、...命令总结/////Oracle数据库创建表空间及为用户指定表空间

    Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说, 可以使用如下命令来完成. 步骤一:  删除user drop ...

  5. 并不对劲的bzoj4651:loj2086:uoj222:p1712:[NOI2016]区间

    题目大意 有\(n\)(\(n\leq 5*10^5\))个闭区间\([L_1,R_1],[L_2,R_2],...,[L_n,R_n]\)(\(\forall i\in [1,n],0\leq L_ ...

  6. BZOJ 4815 数论

    今年的重庆省选? 具体就是,对于每次修改,A[p,q]这个位置,  设d=gcd(p,q) ,则 gcd为d的每一个格子都会被修改,且他们之间有个不变的联系 A[p,q]/p/q==A[k,t]/k/ ...

  7. hdu 2476 (string painter) ( 字符串刷子 区间DP)

    String painter Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  8. Pascal学生管理

    program Project2; {$APPTYPE CONSOLE} uses SysUtils; ;M=; type date=record day:..; month:..; year:..; ...

  9. bzoj 4033: [HAOI2015]树上染色【树形dp】

    准确的说应该叫树上分组背包?并不知道我写的这个叫啥 设计状态f[u][j]为在以点u为根的子树中有j个黑点,转移的时候另开一个数组,不能在原数组更新(因为会用到没更新时候的状态),方程式为g[j+k] ...

  10. springboot(十)SpringBoot消息中间件RabbitMQ

    github地址:https://github.com/showkawa/springBoot_2017/tree/master/spb-demo/spb-brian-query-service 1. ...