我承认自己是菜鸟,没什么网络知识就来搞挂载nfs网络文件系统,花费了5天的时间才把nfs网络文件系统成功挂载在A8板子上,实现了A8板子和虚拟机的文件共享。分享一下个人经验:

以下是基于nfs已经完成安装来说

板子接线问题:我是把板子和电脑都接到同一个路由器上的,保证在同一个网段,我的网关是192.168.0.1,故我的电脑、虚拟机、板子的网关也是它,我的电脑ip地址是192.168.0.111、虚拟机ip为192.168.0.121,板子ip为192.168.0.120,发现上面就是192.168.0.*。哈哈,他们就在同一个网段了。

命令的解释

ifconfig  (在虚拟机上实际是查看网络信息比如ip地址,网关。在window下可以用ipconfig查看)

如何启动 NFS 文件系统

步骤一、PC 虚拟机端的设置

①  设置虚拟机 IP 地址

[root@localhost rootfs]#  ifconfig eth0 192.168.0.121

这个说得通俗点就是修改虚拟机的ip地址

②  启动 NFS 服务器

[root@localhost rootfs]#  /etc/init.d/nfs restart

③  设置 NFS 共享目录

[root@localhost rootfs]#  vim /etc/exports

/*  将下面内容写入/etc/exports 文件  */

/rootfs   *(rw,sync,no_root_squash)

注意:rootfs是你所共享的nfs文件系统的根目录相当于root,文件夹里面有什么你懂的,里面有什么bin、sbin、usr等等,不是你的镜像文件。别理解错,我就是被这个问题拖了好多天的,网峰的该文件在:源代码/移植部分/移植后代码/根文件系统/

就是这个文件:

rw:是读/写权限,只读权限为ro

Sync:数据同步写入内存或硬盘,也可以使用async,此时数据会暂存内存,不写入硬盘。

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

步骤二、选择【1】下载 u-boot 到 NAND FLASH

步骤三、选择【2】下载 kernel 到 NAND FLASH

Ps:如果你已经把yaffs2文件系统下载进去了,如果下面设置好了,在里面也没有影响的。

完成上面二个烧写后,按 q 进入 u-boot 命令行。输入printenv:可以查看你当前的环境变量

步骤四、进入 u-boot 环境变量设置 IP

①  设置开发板 IP

[Webee_210]# set ipaddr 192.168.0.120

②  设置 PC 端 IP(也是在 u-boot 命令行这里设置)

[Webee_210]# set serverip   192.168.0.121   //设置虚拟机ip作为服务器

[Webee_210]# set gatewayip  192.168.0.1    //设置A8的网关

③  设置 NFS 启动参数

[Webee_210]#  setenv  bootargs  noinitrd  root=/dev/nfs

nfsroot=192.168.0.121:/webee,tcp

ip=192.168.0.120:192.168.0.121:192.168.0.1:255.255.255.0::eth0:off  init=linuxrc

console=ttySAC0,115200

解释一下各个参数什么意思

root=/dev/nfs,  //表示用挂载的nfs文件系统

nfsroot=192.168.0.121:/webee,tcp   //表示虚拟机IP:虚拟机要共享的目录

ip=192.168.0.120:192.168.0.121:192.168.0.1:255.255.255.0::eth0:off    //表示板子IP:虚拟机IP(服务器):网关IP:掩码::eth0:off

④  将刚设置的参数写入 NAND FLASH

[Webee_210]# saveenv

此时可以用printenv查看参数

可以看到,上面很多环境变量是我们自己设置的 。

到这个步骤你可以用电脑、虚拟机、板子相互ping会发现下面情况,这是正常的:

电脑      ping  板子   不通
虚拟机      ping  板子   不通
板子       ping  电脑    通
板子       ping  虚拟机   通
虚拟机      ping  电脑    通
电脑      ping  虚拟机   通

贴一张图片

⑤  将 Linux 内核从 NAND FLASH 读入内存,然后启动内核。

[Webee_210]# nand read 0x20007fc0 0x100000 0x500000

⑥  NFS 启动内核

[Webee_210]# bootm 0x20007fc0

启动完后

上面可以看到VFS:mount root (nfs filesystem)ondevice 0:9.表示nfs文件系统已成功挂载。

到这个步骤你可以用电脑、虚拟机、板子相互ping会发现下面情况,这是正常的:

电脑      ping  板子   通
虚拟机      ping  板子   通
板子       ping  电脑    通
板子       ping  虚拟机   通
虚拟机      ping  电脑    通
电脑      ping  虚拟机   通

贴下图片

板子ping 电脑、网关、虚拟机

虚拟机 ping 板子

电脑ping板子

哈哈,是不是成功啦

试一下在板子上新建一个123.c文件

看一下虚拟机上有没有

有了就成功了,到此结束。

NFS 网络文件系统挂载在A8板子上的更多相关文章

  1. Linux系统NFS网络文件系统

    Linux系统NFS网络文件系统 NFS(network file system)网络文件系统,就是通过网络让不同的主机系统之间可以共享文件或目录,此种方法NFS客户端使用挂载的方式让共享文件或目录到 ...

  2. [学习嵌入式开发板]iTOP-4412实现NFS网络文件系统

    本文转自迅为:http://www.topeetboard.com 学习平台:iTOP-4412开发板 本文讲解如何在 iTOP-4412 开发板上实现 NFS 网络文件系统. 我们使用的软硬件环境是 ...

  3. NFS(网络文件系统的搭建)

    关于NFS的原理,我在这就不概诉了,其实非常简答的理解就是一个网络磁盘,你需要把它挂载到你的磁盘上使用而已.那接下来谈谈如和搭建NFS网络文件系统. 需要使用2台机器作此实验,我分别配置IP为192. ...

  4. 三者互ping,PC,虚拟机,uboot,nfs网络文件系统搭建

    要想实现三者互ping,韦老师虽然专门出了视频说明,但是在自己配置过程还是出现了问题,这里记录一下解决办法,虽然我也不知道原因,但是解决了出现的问题也实现了三者互ping. 首先,我的硬件设备是PC通 ...

  5. Linux系统——NFS网络文件系统

    在企业集群架构的工作场景中,NFS网络文件系统一般被用来存储共享视频,图片,附件等静态资源文件,通常网站用户上传的文件都会放到NFS共享里,然后前端所有的节点访问这些静态资源时都会读取NFS存储上的资 ...

  6. NFS网络文件系统的配置

    NFS网络文件系统的配置 NFS网络文件系统 NFS(network file system)网络文件系统.一种使用于分散式文件协定,有SUN公司开发.功能是通过网络让不同的机器.不同的操作系统能够分 ...

  7. Linux基础学习-NFS网络文件系统实时文件共享

    NFS网络文件系统 如果大家觉得Samba服务程序的配置太麻烦了,那么你共享文件的主机都是Linux系统,那么推荐大家在客户端部署nfs服务来共享文件.nfs(网络文件系统)服务可以将远程Linux系 ...

  8. Centos6.6 安装nfs网络文件系统

    一.介绍 nfs网络文件系统的,大部分用在内网文件共享,比如,对集群上传文件做共享,经常用在图片部分,当然数据量大了还是要做分离,做为专门的接口比较好,介绍一下基本安装环境: 1)Cnetos6.6 ...

  9. linux初学者-NFS网络文件系统篇

    linux初学者-NFS网络文件系统篇 在上一篇的SAMBA篇中介绍了linux系统和windows系统之间共用的网络文件系统CIFS,主要用于客户端是windows的情况.在linux系统之间,所用 ...

随机推荐

  1. python通过自定义异常,提前退出方法

    python退出的操作,搜索后都是return.exit()等 return:退出一个方法,并返回一个值 exit():退出python   想要实现的功能: 方法A中调用多个方法,方法B.方法C.. ...

  2. python学习之路——基础篇(3)模块(续)

    re正则表达式.shutil.ConfigParser.xml 一.re 正则元字符和语法: 语法 说明 表达式 完全匹配字符 字符 一般字符 匹配自身 abc abc . 匹配除换行符"\ ...

  3. HAProxy学习笔记

    HAProxy:著名的负载均衡器,工作于用户空间的服务程序,其有两种工作模式: TCP mode:四层调度(模拟实现,依赖于socket进行通信) HTTP mode:七层调度 目前维护的稳定版本分支 ...

  4. c++ 对象的内存布局

    之前介绍过了普通对象比如系统自带的int等对象的对齐方式,在学习类型转换的时候遇到了自定义类型的继承体系中的downcast与upcast. 于是顺藤摸瓜,摸到了这里.发现还是 陈皓的博客里面写的最早 ...

  5. git 配置忽略文件(忽略UserInterfaceState.xcuserstate,Breakpoints_v2.xcbkptlist)

    ios 配置忽略文件.gitignore 文件 之前新建了一个项目,在使用git管理版本的时候没有配置忽略文件 .gitignore 文件,结果导致每次提交的时候都会出现UserInterfaceSt ...

  6. JSON 的应用

    使用  JSON 需要的 jar 包:

  7. java中switch、while、do...while、for

    一.Java条件语句之 switch 当需要对选项进行等值判断时,使用 switch 语句更加简洁明了.例如:根据考试的名次,给予前 4 名不同的奖品.第一名,奖励笔记本一台:第二名,奖励 IPAD  ...

  8. JavaWeb 学习0010-今日问题 2016-12-3

    2016-12-3 1. 今天要做的第一个问题就是,怎么把网页变得好看点: addStudent/listStudent页面都有改动 其中 list页面还有了<c:if 的语句这是还没练习过得知 ...

  9. [NOIP2015]信息传递

    [NOIP2015]信息传递[问题描述]有

  10. makfile

    1. Makefile 简介 Makefile 是和 make 命令一起配合使用的. 很多大型项目的编译都是通过 Makefile 来组织的, 如果没有 Makefile, 那很多项目中各种库和代码之 ...