Ubuntu 12.04下NFS安装配置图解

安装nfs:

#sudo apt-get install nfs-kernel-server

ubuntu12.04中的已经是最新版本了,无需安装

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

/home/kevin *(rw,sync,no_root_squash)

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

/home/kevin:要共享的目录

* :允许所有的网段访问

rw :读写权限

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

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

重启服务:
#sudo /etc/init.d/portmap restart                  <---重启portmap,
#sudo /etc/init.d/nfs-kernel-server restart      <---重启nfs服务
#showmount -e                                          <---显示共享出的目录

注:nfs是一个RPC程序,使用它前,需要映射好端口,通过portmap设定

命令执行情况如下:

kevin@ubuntu:~$sudo /etc/init.d/portmap restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service portmap restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the restart(8) utility, e.g. restart portmap
portmap start/running, process 474


kevin@ubuntu:~$sudo /etc/init.d/nfs-kernel-server restart
 * Stopping NFS kernel daemon                                              [ OK ]
 * Unexporting directories for NFS kernel daemon...                   [ OK ]
 * Exporting directories for NFS kernel daemon...     

  exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/home/xgc".
  Assuming default behaviour ('no_subtree_check').
  NOTE: this default has changed since nfs-utils version 1.0.x
                                                                                 [ OK ]
 * Starting NFS kernel daemon                                       [ OK ]

kevin@ubuntu:~$showmount -e
Export list for xgc-VirtualBox:
/home/kevin *

 

现在可以在本机上试一下:
#sudo mount -t nfs localhost:/home/kevin /mnt

注:localhost为本机linux的IP地址

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

如果用在嵌入式设备上挂载,要加上参数-o nolock

我在开发板上使用的挂载命令:

mount -t nfs -o nolock 192.168.1.8:/home/kevin /mnt

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


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

Ubuntu 12.04下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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值