我承认自己是菜鸟,没什么网络知识就来搞挂载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. VS C#开发中WinForm中Setting.settings的作用

    .定义 在Settings.settings文件中定义配置字段.把作用范围定义为:User则运行时可更改,Applicatiion则运行时不可更改.可以使用数据网格视图,很方便: .读取配置值 tex ...

  2. 【干货】解密监控宝Docker监控实现原理

    分享人高驰涛(Neeke),云智慧高级架构师,PHP 开发组成员,同时也是 PECL/SeasLog 的作者.8 年研发管理经验,早期从事大规模企业信息化研发架构,09 年涉足互联网数字营销领域并深入 ...

  3. ReactiveCocoa框架学习<一>

    1.Cocoapods导入ReactiveCocoa: use_frameworks! target 'RACDemo' do pod 'ReactiveObjC', '~> 2.1.0' en ...

  4. Linux Windows 修改键盘映射

    Linux 下是编辑 ~/.Xmodmap 文件 remove Lock = Caps_Lockkeysym Escape = Caps_Lockkeysym Caps_Lock = Escapead ...

  5. Mac 终端命令大全

    目录操作 命令名 功能描述 使用举例 mkdir 创建一个目录 mkdir dirname rmdir 删除一个目录 rmdir dirname mvdir 移动或重命名一个目录 mvdir dir1 ...

  6. easy ui 框架

    Easy UI 准备工作(搭建) 1.在WebRoot 的目录下创建js 文件夹,在文件夹中倒入一下两个包 Jquery.easyui.min.js jquery.min.js 2.在WebRoot ...

  7. hadoop-mongo map/reduce java

    官方 http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-hadoop/ mongo-haoop项目地址 https://g ...

  8. json 数据 添加 删除 排序

    js数据格式和json数据格式,各有各的用处,就个人而言,json更好用一点,js自身的数组和对像限制比较多. 以js的数组举例: var a = ['1']; a[5] = 52; a.length ...

  9. eyegaze

    1. eye_gaze https://github.com/iitmcvg/eye-gaze 2.deepgaze https://github.com/mpatacchiola/deepgaze ...

  10. linux bash 笔记

    Bash的简单使用笔记: 1- 命令行参数(调用脚本后面跟的参数) 2- 命令行选项(修改命令行为的单字符串) 3- 获取键盘输入 4- 读文件 5- 函数 1.命令行参数(调用脚本后面跟的参数) x ...