以前就听说过nfs服务,但是一直没有用,在学习制作根文件系统的时候,才算是真正用上它了,我感觉它还不错,通过它“挂载”制作好的根文件系统。它在嵌入式中的角色就用下面的一张图说明吧!
用网线将主机与开发板连接起来,主机开启nfs服务后,就可以像tftp一样传文件到开发板了,有的人会问,不如直接用tftp好了,但是nfs还可以挂载根文件系统啊!我等屌丝先这样比较吧(本文主要是记录安装使用步骤)!下面介绍安装步骤
1、执行命令:sudo apt-get install nfs-kernel-server 我之前安装了,之所以写下来是防止重装系统后,这些东西都怎么安装。
2、执行命令:mkdir /home/song/nfs 建立一个nfs服务的专有的文件夹,这里路径依自己喜好而定!不过要记得这个路径
3、建立好文件夹后,接着执行命令:sudo vim /etc/exports 配置nfs
4、在文章的最后一行添加:/home/song/nfs *(rw,sync,no_root_squash,no_subtree_check)
/home/song/nfs *(rw,sync,no_root_squash,no_subtree_check)这一行的含义是:
/home/song/nfs:与nfs服务客户端共享的目录,这个路径必须和你前面设置的文件的路径一致!
*:允许所有的网段访问,也可以使用具体的IP
rw:挂接此目录的客户端对该共享目录具有读写权限
sync:资料同步写入内存和硬盘
no_root_squash:root用户具有对根目录的完全管理访问权限。
no_subtree_check:不检查父目录的权限。更多的参数说明我在文章下面贴出来了!
5、修改完上述配置文件保存退出。
6、执行命令:sudo /etc/init.d/portmap restart 重启portmap服务。nfs是一个RPC程序,使用它前,需要映射好端口,通过portmap设定。
7、执行命令:sudo /etc/init.d/nfs-kernel-server restart 重启nfs服务。
8、到这里,你就可以使用nfs服务了。可是怎么用呢?我之前是将自己移植的uboot、内核下载到开发板上后,然后利用nfs服务在开发板上启动自己制作的根文件系统的,可是由于刚整理完内核移植,现在我的mini2440的开发板上还是他自带的supervivi、linux2.6.32.2内核和rootfs_qtopia_qt4.img根文件系统。并且接下来,我还会写一篇利用nfs启动自己制作的根文件系统的文章,在这里先用自带说一下怎么使用吧!那篇文章写完之后再把链接贴过来。
使用步骤(下面的步骤看看就行了哈,不用做实验的)
9、首先最重要的就是用网线将你的开发板和电脑相连!然后打开串口终端执行superviv中的 f 命令,格式化你的nand flash,这是为了确保nand flash里边没有根文件系统了。
你看,启动不起来了吧!界面一直停留在这里!
10、通过supervivi的 v命令和k命令,分别将supevivi和内核下载到nand flash的分区,下载过程是要结合这dnw的哈!(注意这里dnw的configuretion地址是0x3000 0000)
下载supervivi到nand flash对应的分区
下载内核到nand flash对应的分区
11、到这里,我不打算利用supervivi自带的y命令将根文件系统下载到nand flash了,现在正式开始介绍利用nfs挂载根文件系统。
12、将根文件系统放在咱们创建的文件里,如下图
13、在supevivi上输入q,进入supervivi的命令模式
14、在命令模式下,输入:param set linux_cmd_line "console=ttySAC0,115200n8 root=/dev/nfs nfsroot=211.64.20.161:/home/song/nfs/rootfs_qtopia_qt4 ip=211.64.20.167",按回车键
上图只需要修改的地方为 :nfsroot=你的主机IP:根文件系统路径 ip=你的开发板ip地址,注意开发板的ip地址只要和主机ip地址在一个网段内就可。
15、接着在命令行模式下输入:boot,按回车键就可以启动系统了!
下文转自:http://www.linuxidc.com/Linux/2012-05/61527.htm
NFS服务的主配置文件:
/etc/exports:
格式:[共享的目录] [主机名或IP(参数,参数)]
当将同一目录共享给多个客户机,但对每个客户机提供的权限不同时,可以这样:
[共享的目录] [主机名1或IP1(参数1,参数2)] [主机名2或IP2(参数3,参数4)]
第一列:欲共享出去的目录,也就是想共享到网络中的文件系统;
第二列:可访问主机
192.168.152.13 指定IP地址的主机
nfsclient.test.com 指定域名的主机
192.168.1.0/24 指定网段中的所有主机
*.test.com 指定域下的所有主机
* 所有主机
第三列:共享参数
下面是一些NFS共享的常用参数:
下面是一些NFS共享的常用参数:
ro 只读访问
rw 读写访问
sync 所有数据在请求时写入共享
async NFS在写入数据前可以相应请求
secure NFS通过1024以下的安全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_squas root用户具有根目录的完全管理访问权限
anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
例如可以编辑/etc/exports为:
/tmp *(rw,no_root_squash)
/home/public 192.168.0.*(rw) *(ro)
/home/test 192.168.0.100(rw)
/home/linux *.the9.com(rw,all_squash,anonuid=40,anongid=40)
分享到:
相关推荐
Ubuntu 12.04下如何安装MySQL ,我按照这文档,已经成功在ubuntu 12.04安装成功mysql!
Ubuntu12.04下Eclipse安装配置
ubuntu12.04安装及配置过程详解
本文件是经过个人参照各种资料,自己独自摸索出来的一种在ubuntu 12.04下配置JSP的开发环境。 包括Tomcat Mysql在ubuntu12.04下的安装
最全,最好用 自己试试啊ubuntu12.04 vim 配置
Ubuntu上默认是没有安装Ubuntu nfs服务器的,因此我们首先安装Ubuntu nfs服务器端和客户端。
Ubuntu12.04 nginx python uwsgi Django安装步骤
Ubuntu Server 12.04安装图解,附件中为安装过程中全部截图,可按照图中所选择部分安装
Ubuntu12.04下的JDK安装,首先到官网上下载jdk-7u51-linux-x64.tar.gz。
配置ubuntu12.04 samba服务器的话,把必要的软件安装之后,还需要修改配置文件,可以先把系统的配置文件备份,这个拷贝过去替换系统的文件,把名字了。次配置文件本人一验证,可以使用,配置文件的最后12行是我自己...
用 VMware 安装 Ubuntu 12.04详细过程图解
OpenStack Havana 在Ubuntu 12.04下配置,多节点
zabbix2.03在ubuntu12.04上的安装(最新)
Ubuntu12.04下Ns2.35安装步骤,完美安装,可实现相关协议的开发和研究。
Ubuntu12.04下为火狐浏览器安装flash插件.docx
ubuntu 12.04 配置参考 含 emacs nfs tftp 配置参考
网上大部分文档介绍了LTIB在Ubuntu10.04下的安装和配置,鲜有针对Ubuntu12.04下的说明。事实上,要在12.04下安装LTIB,还是需要一些修改和补丁的,于是就有了这个文档。
Ubuntu 12.04 安装配置 Tomcat 7.0.40Tomcat 服务器.docx
使用VirtualBox在Windows系统下安装与配置Ubuntu 12.04 LTS虚拟机