1.NFS方式挂载rootfs的设置方法

以下内容源于朱有鹏嵌入式课程的学习,如有侵权,请告知删除。


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

[cpp]  view plain  copy
  1. 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方式不适合真正的产品,一般作为产品开发阶段调试使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值