您的位置:首页 > 其它

NFS方式挂载rootfs的设置方法

2017-05-06 13:41 239 查看
以下内容源于朱有鹏嵌入式课程的学习,如有侵权,请告知删除。

1、什么是nfs?

(1)nfs(网络文件系统)是一种网络通讯协议,由服务器和客户端构成。

(2)nfs的作用

利用nfs协议可以做出很多直接性应用,但这里使用nfs主要是做rootfs挂载。
开发板中运行kernel作nfs客户端(在配置时要配置成支持nfs客户端)。
虚拟机ubuntu中搭建nfs服务器(指定的共享目录由bootargs这个环境变量中的nfsroot路径指定)。
在虚拟机ubuntu的nfs服务器的NFS共享目录下,导入文件夹形式的rootfs目录,在客户端中挂载这个文件夹形式的rootfs,进而启动系统。

2、在虚拟机上搭建nfs服务器

(1)搭建方法见环境搭建文档

(2)挂载的理解

被挂载的目录,即要访问的目录,比如/root/rootfs;
挂载到某目录(挂载点),该目录就是一个小窗口,通过该窗口可以访问被挂载的目录的内容。
比如挂载到/opt,则可以通过opt访问/root/roots的内容。
用完之后一般要卸载:umount  /opt

3、配置内核以支持nfs作为rootfs

(1)设置nfs启动方式的bootargs

修改bootargs这个环境变量(注意具体的内容可能不同)。
参数含义见博文http://blog.csdn.net/oqqhutu12345678/article/details/78492575
set bootargs root=/dev/nfs nfsroot=192.168.1.141:/root/rootfs/ ip=192.168.1.20:192.168.1.141:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC2,115200


此时如果直接挂载运行,会提示错误如下,导致重新启动,因为没有配置内核以支持NFS启动方式。





(2)在内核配置阶段,即menuconfig中配置支持nfs启动方式



(3)在uboot中设置环境变量

set bootcmd ‘tftp 30008000 zImage;bootm 30008000’;修改完后记得save。

(4)重新启动uboot,就会到tftp服务器中下载内核,然后再到nfs服务器中下载rootfs。

如果rootfs是可用的,那么就会启动成功;
如果rootfs是不可用的,那么会提示下面的错误。



4、总结

(1)nfs方式启动相当于开发板上的内核远程挂载主机上的rootfs(根文件系统、内核在主机上,而不是像以前那样先烧录在开发板上)

(2)nfs方式启动不用制作rootfs镜像;

(3)nfs方式不适合真正的产品,一般作为产品开发阶段调试使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: