转载:http://www.linuxidc.com/Linux/2013-08/89154.htm
以前就听说过nfs服务,但是一直没有用,在学习制作根文件系统的时候,才算是真正用上它了,我感觉它还不错,通过它“挂载”制作好的根文件系统。它在嵌入式中的角色就用下面的一张图说明吧!
用网线将主机与开发板连接起来,主机开启nfs服务后,就可以像tftp一样传文件到开发板了,有的人会问,不如直接用tftp好了,但是nfs还可以挂载根文件系统啊!我等屌丝先这样比较吧(本文主要是记录安装使用步骤)!
相关阅读:
Ubuntu 12.04安装NFS server http://www.linuxidc.com/Linux/2012-09/70728.htm
NFS服务器安装配置实现Ubuntu 12.04与ARM文件共享 http://www.linuxidc.com/Linux/2012-10/73159.htm
Ubuntu搭建nfs服务器 http://www.linuxidc.com/Linux/2012-10/71930.htm
下面介绍安装步骤
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,按回车键就可以启动系统了!
NFS参数配置详细说明 http://www.linuxidc.com/Linux/2012-05/61527.htm
更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2