NFS介绍
NFS(Network File System)是网络文件系统,和img镜像格式的文件系统一样都是文件系统。区别在于NFS是通过网络挂载,镜像格式的文件系统必须先烧录到硬盘后才能挂载。NFS采用C/S架构,客户端通过网络去挂载服务器端上的文件系统。NFS适用于调试阶段,镜像格式的文件系统适合出货的产品。
NFS环境搭建
这里的环境搭建指的是NFS服务器的搭建,uboot、内核已经默认支持NFS的客户端。公司的服务器肯定已经搭建好NFS服务器的环境,下面介绍的是PC上怎么搭建NFS服务器。有两种思路,一种是在Windows中直接运行NFS服务端软件;另一种是在虚拟机中搭建NFS服务器。
配置ubuntu上的nfs挂载目录
(1)vi etc/exports添加nfs挂载目录 (2)编辑好后source一下配置文件使nfs配置生效 (3)/etc/init.d/nfs restart,重启nfs服务器
制作根文件系统
参考博客:《制作ext2格式的文件系统》。
配置内核支持nfs启动
1、配置网络部分,主要是使能CONFIG_IP_PNP以在2中能够看到Root file system on NFS选项
Networking support
Networking options
TCP/IP networking
IP: kernel level autoconfiguration
[*] IP: DHCP support
[*]IP: BOOTP support
2、配置开启nfs服务
File systems --->
Network File Systems --->
<*> NFS client support
[*] NFS client support for NFS version 3
[*] NFS client support for the NFSv3 ACL protocol extension
[*] NFS client support for NFS version 4 (EXPERIMENTAL)
[*] NFS client support for NFSv4.1 (DEVELOPER ONLY)
[*] Root file system on NFS
修改uboot的bootargs支持nfs
setenv bootargs root=/dev/nfs nfsroot=192.168.1.141:/root/porting_x210/rootfs ip=192.168.1.10:192.168.1.141:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC2,115200
(1)root=/dev/nfs 告诉内核根文件系统是NFS; (2)nfsroot=192.168.1.141:/root/porting_x210/rootfs 告诉内核根文件系统在NFS服务器上的路径; 192.168.1.141:NFS服务器的ip地址; /root/porting_x210/rootfs :根文件系统在NFS服务器上的路径; (3)ip=192.168.1.10:192.168.1.141:192.168.1.1:255.255.255.0::eth0:off 第一个参数为开发板ip地址; 第二个为服务器ip地址; 第三个是网关; 第四个是掩码; 第五个是开发板名字,可以不填; 第六个将ip地址复制给哪个网卡; 第七个关闭动态ip获取; (4)init=/linuxrc 告诉内核init进程的路径是"/linuxrc"; (5)console=ttySAC2,115200 指定控制台是串口ttySAC2,波特率是115200;
验证是否挂载成功
查看内核启动中是否有如下打印: VFS: Mounted root (nfs filesystem) on device 0:12.
|