一、宿主机中对NFS服务的支持
1、安装相关软件
sudo apt-get install nfs-kernel-server
sudo apt-get install nfs-common
2、配置NFS服务器
编辑exports
sudo vim /etc/exports
文件末尾加下面的项目
/home/li/x2440/rootfs *(rw,sync,no_root_squash,no_subtree_check)
/home/li/x2440/rootfs 这个目录就是NFS文件系统的目录。
更新配置:
sudo exportfs -r
导出配置目录:
sudo showmount localhost -e
出现下面的信息表示导出成功:
Export list for localhost:
/home/li/x2440/rootfs *
重启NFS服务:
sudo /etc/init.d/nfs-kernel-server restart
重启成功
[ ok ] Restarting nfs-kernel-server (via systemctl): nfs-kernel-server.service.
二、开发板(客户端)对NFS支持
1、开发板中的linux内核中对NFS支持
配置内核:
make menuconfig
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
Networking support
Networking options
TCP/IP networking
[*]IP: kernel level autoconfiguration
[*] IP: DHCP support
[*] IP: BOOTP support
在uboot中设置bootargs,传递nfs相关参数到内核。
set bootargs root=/dev/nfs nfsroot=192.168.1.20:/home/li/x2440/rootfs ip=192.168.1.10:192.168.1.20:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC2,115200
save
参数解释:
root=/dev/nfs 表示支持nfs文件系统
nfsroot=192.168.1.20 表示宿主机IP
/home/li/x2440/rootfs 表示宿主机下共享的nfs目录
ip=192.168.1.10 开发板IP
......
2、开发板挂载NFS文件系统
条件:
1)、开发板和宿主机通过网线连接,且uboot能ping得通宿主机
2)、宿主机的共享目录/home/li/x2440/rootfs下有制作好的根文件系统
把编译好的内核烧录到开发板上,启动内核,设置都没问题时,就能顺利运行NFS文件系统。