开发环境和开发板需求能够互通同享文件,NFS服务的首要目的是在网络上实现文件同享。在嵌入式体系开发中,特别是在嵌入式 Linux 体系开发中,经常会运用 NFS 来实现开发板和开发环境之间的文件同享。这样,就可以在开发环境上进行代码编写、编译和调试等操作,然后经过 NFS 将编译好的程序、镜像文件等传输到嵌入式开发板上运转。
NFS(Network File System)是一种分布式文件体系协议,用于答应一个核算机经过网络访问另一台核算机上的文件体系。建立该服务分为两部分,一个是服务端,一个是客户端。
一、NFS服务端
1.1 安装NFS服务器
翻开Ubuntu终端,输入下面的指令:
sudo apt update
sudo apt install nfs-kernel-server
1.2 装备NFS同享目录
sudo mkdir /home/nfs/shared
1.2.1 翻开装备文件
sudo vim /etc/exports
1.2.2 在文件后边中增加一行
/home/nfs/shared *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
-
/srv/nfs/shared
: 同享的目录路径 -
*
: 答应任何主机访问 -
rw
: 读写权限 -
nohide
: 文件体系被挂载时,该目录将一向可见 -
insecure
: 答应客户端运用非特权端口衔接到 NFS 服务器。 -
async
: 异步写入,进步功能 -
no_subtree_check
: 禁用子树检查 -
no_root_squash
: 根用户在客户端将具有服务器上的根用户的权限
1.2.3 重启NFS服务
sudo systemctl restart nfs-kernel-server
1.2.4 验证同享目录
showmount -e
1.3 装备mountd端口
1.3.1 输入sudo gedit /etc/services
翻开装备文件
sudo gedit /etc/services
1.3.2 增加以下两行
mountd 9999/tcp
mountd 9999/udp
1.3.3 检查端口
sudo rpcinfo -p
二、NFS客户端
将开发板刺进电源,刺进串口,翻开串口衔接东西等待衔接,此刻翻开电源开关即可成功衔接上开发板终端。
在装备好开发板网络的前提下进行下面的操作,假如板子没有sudo指令就不用加sudo:
2.1 安装客户端软件
sudo apt update
sudo apt install nfs-common
2.2 创立挂载目录
sudo mkdir -p /mnt/nfs
2.3 进行挂载
这儿的192.168.0.121
是服务端的地址
sudo mount 192.168.0.121:/home/nfs/shared /mnt/nfs
或许
mount -t nfs -o nolock,vers=3,port=2049,mountport=9999 192.168.0.121:/home/nfs/shared /mnt/nfs
2.4 装备体系启动时主动挂载
Linux的部分装备文件在每次体系启动时都会执行一次。因此,假如有需求在体系启动时挂载的NFS同享,可以将对应的挂载指令写入装备文件,比方:1. 经过修改“/etc/fstab”文件的方法。 2. 经过修改“/etc/rc.d/rc.local”文件的方法。 from support.huawei.com/enterprise/…
2.4.1 运用/etc/fstab
方法(失利了)
板子开机加载半响没动,吓我一跳,认为成砖了,挂载没有成功,不晓得原因,暂时仍是运用终端衔接东西提供的自定义宏功能吧。
2.4.1.1 翻开/etc/fstab
文件
sudo vim /etc/fstab
2.4.1.2 将挂载信息增加到 /etc/fstab
文件中
这儿的192.168.0.121
是服务端的地址
192.168.0.121:/home/nfs /mnt nfs nolock,vers=3,port=2049,mountport=9999 0 0
2.5 验证挂载
mount -a
或
df -h
2.6 运用etc/rc.d/rc.local
方法
我的这个板子没有etc/rc.d/rc.local
我就不弄这个了
嵌入式Linux系列文章:
-
Part 1: 嵌入式Linux开发学习手册—— 一、网络装备 – 推开Linux开发的大门。
-
Part 2: 嵌入式Linux开发学习手册—— 二、建立NFS网络文件体系服务 – 向开发板同享文件。
END