环境:ubuntu14.04(非虚拟机),OK6410

环境搭建:

(1)

#sudo apt-get install nfs-kernel-server

如果已经是最新版本了,无需安装

(2)

建立nfs文件夹,在ubuntu命令行中输入,

$ mkdir /nfs

$ chmod 777 /nfs

$ chmod  777  /nfs/*

(3)

打开/etc/exports文件,在末尾加入:

/nfs *(rw,sync,no_root_squash)

注:nfs允许挂载的目录及权限,在文件/etc/exports中进行定义,各字段含义如下:

/nfs:要共享的目录

* :允许所有的网段访问

rw :读写权限

sync:资料同步写入内在和硬盘

no_root_squash:nfs客户端共享目录使用者权限

(4)

重启服务:

#sudo /etc/init.d/nfs-kernel-server restart      <---重启nfs服务

#showmount -e                                    <---显示共享出的目录

注意:若重启nfs服务时出现如下错误

* Stopping NFS kernel daemon                                            [ OK ]

* Unexporting directories for NFS kernel daemon...                      [ OK ]

WARNING: /etc/modprobe.conf line 1: ignoring bad line starting with 'Cannot'

WARNING: Could not open 'kernel/net/sunrpc/sunrpc.ko': No such file or directory

WARNING: Could not open 'kernel/fs/lockd/lockd.ko': No such file or directory

WARNING: Could not open 'kernel/fs/nfs_common/nfs_acl.ko': No such file or directory

WARNING: Could not open 'kernel/net/sunrpc/auth_gss/auth_rpcgss.ko': No such file or directory

FATAL: Could not open 'kernel/fs/nfsd/nfsd.ko': No such file or directory

* Not starting NFS kernel daemon: no support in current kernel.

采用如下语句改正错误:

sudo ln -s /lib/modules/3.13.0-45-generic/kernel/ /

结果如下:

* Stopping NFS kernel daemon                                             [ OK ]

* Unexporting directories for NFS kernel daemon...                      [ OK ]

WARNING: /etc/modprobe.conf line 1: ignoring bad line starting with 'Cannot'

* Exporting directories for NFS kernel daemon...                          [ OK ]

* Starting NFS kernel daemon                                                    [ OK ]

nfs配置成功

本机测试

(1)本机测试

现在可以在本机上试一下:

#sudo mount -t nfs localhost:/home/kevin /mnt

注:localhost为本机linux的IP地址

这样就把共享目录挂到了/mnt目录,取消挂载用:

#sudo umount /mnt

挂在根文件系统

(1)

将制作好的文件系统放入 /nfs 中,文件系统的制作方法见http://www.cnblogs.com/apolloenterprise/p/4351408.html

(2)

kernel中要设置启动nfs

$ make menuconfig ARCH=arm

General Setup -  取消  Initial RAM filesystem and ...

File System   选中  Network FileSystem

选中  Root file System on NfS

$ make uImage ARCH=arm CROSS_COMPILE=arm-linux-

编译完成

(3)

启动参数设置

开发板上电,进入uboot命令行:

$ setenv bootargs " console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.200:/nfs ip=192.168.1.100"

注意:192.168.1.200   PC IP

192.168.1.100  开发板IP

保存:

$ saveenv

(4)tftp 下载内核后,bootm启动内核,此时文件系统会被调用

【原创】-- nfs安装配置及使用,挂载根文件系统的更多相关文章

  1. Ubuntu 12.04下NFS安装配置图解

    以前就听说过nfs服务,但是一直没有用,在学习制作根文件系统的时候,才算是真正用上它了,我感觉它还不错,通过它“挂载”制作好的根文件系统.它在嵌入式中的角色就用下面的一张图说明吧! 用网线将主机与开发 ...

  2. 用Qemu模拟vexpress-a9 (四) --- u-boot引导kernel,用nfs挂载根文件系统

    环境介绍 Win7 64 + Vmware 11 + ubuntu14.04 32 u-boot 版本:u-boot-2015-04 Linux kernel版本:linux-3.16.y busyb ...

  3. cinder块存储 后端采用lvm、nfs安装配置

    #cinder块存储 后端采用lvm.nfs安装配置 openstack pike 安装 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html #cinder ...

  4. cinder存储节点 后端采用lvm、nfs安装配置

    #cinder存储节点 openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html #cinder存储节点 #cinder后端采 ...

  5. CentOS 6.3下NFS安装配置

    CentOS 6.3下NFS安装配置 一.环境介绍   NFS服务器:CentOS6.3 192.168.8.20 NFS客户端:CentOS6.5 192.168.8.39 二.服务器端安装配置   ...

  6. 目标板通过nfs挂载根文件系统

    目标板挂载根文件系统的方法有两种(这里所说的服务端就是ubuntu,Ubuntu已经成功安装了nfs服务,并且保证服务端与目标板ping 通) 第一种:等待开发板启动之后去挂载,此时文件系统从Flas ...

  7. 根文件系统制作、NFS配置与安装及利用NFS挂载根文件系统

    最近打算从头开始制作根文件系统,下面是开发过程. 一.根文件系统的制作 0.FHS(Filesystem Hierarchy Standard)标准介绍 该标准规定了根目录下各个子目录的名称及其存放的 ...

  8. CentOS 6.5下NFS安装配置

    [root@local /]# yum -y install nfs-utils rpcbind3.创建共享目录:[root@local /]# mkdir /sharestore4.NFS共享文件路 ...

  9. Ubuntu 14.04 下NFS安装配置

    1.执行命令:sudo apt-get install nfs-kernel-server; 2.执行命令:mkdir /home/jack/nfs-share 建立一个nfs服务的专有的文件夹; 3 ...

随机推荐

  1. Java web--反射(解刨)

    本质:先加载类           再解刨类的方法,字段,构造函数 目的:解刨出构造函数       为了new对象 解刨出字段             为了封装数据进去 解刨方法           ...

  2. mgo中DBRef-数据查询测试

    下午对数据查询进行了代码测试: package main import ( "crypto/rand" "encoding/hex" "fmt&quo ...

  3. 【转载】大数据量传输时配置WCF的注意事项

    WCF传输数据量的能力受到许多因素的制约,如果程序中出现因需要传输的数据量较大而导致调用WCF服务失败的问题,应注意以下配置: 1.MaxReceivedMessageSize:获取或设置配置了此绑定 ...

  4. Continue To DO!

    (1)Valid Anagram 解题思路: 使用一个数组,首先遍历S相应位置加1,然后遍历T,判断此时如果相应位置为零返回FALSE,否则就减一.T遍历完毕后返回true. 代码如下: public ...

  5. div层叠顺序额

    在模态窗体中打开新div,结果该div不显示 该div不是没有显示,而是显示了,但是被这个模态状体挡住了 解决方法:修改z-index这个参数 该参数越大则显示在越上层,即可见

  6. swift 取出中间文本

    func  stringmid (wholestring:String,front:String,behind:String)->String { if wholestring.isEmpty ...

  7. redis与memcached比较

    引用自:http://blog.csdn.net/e_wsq/article/details/23551799 最近需要用no-sql数据库来保存大量的数据,插入和查询都比较频繁,相对而言查询更加频繁 ...

  8. C#数据库操作

    1.常用的T-Sql语句      查询:SELECT * FROM tb_test WHERE ID='1' AND name='xia'                SELECT * FROM ...

  9. Reflector 已经out了,试试ILSpy[转]

    Reflector是.NET开发中必备的反编译工具.即使没有用在反编译领域,也常常用它来检查程序集的命名规范,命名空间是否合理,组织类型的方法是否需要改善.举例说明,它有一个可以查看程序集完整名称的功 ...

  10. AS错误:Error:Execution failed for task ':gM99SDK:processReleaseResources'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'F:\BaiduYunDown

    原因,buildToolsVersion 版本太低. 在build.gradle文件设置 buildToolsVersion 设置高一点,但必须是SDK里面有的.