【北京迅为】《iTOP-3588开发板NFS实现共享目录手册》

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP,内置NPU,支持INT4/INT8/INT16/FP16混合运算能力,支持安卓12和、Debian11、Build root、Ubuntu20和22版本登系统。了解更多信息可点击迅为官网   

【粉丝群】824412014

【实验平台】:迅为RK3588开发板

【内容来源】《iTOP-3588开发板NFS实现共享目录手册》

【全套资料及网盘获取方式】联系淘宝客服加入售后技术支持群内下载

【视频介绍】:【强者之芯】 新一代AIOT高端应用芯片 iTOP -3588人工智能工业AI主板


第1章 搭建nfs共享目录

本章介绍如何搭建 nfs 共享目录,通过nfs共享目录可以实现虚拟机 Ubuntu 与开发板互传文件。

NFS是Network FileSystem 的缩写,基于 UDP/IP 协议的应用。可以通过网络让不同的机器,不同的操作 系统彼此共享文件。所以使用NFS服务可以提高调试的效率。

1.1 搭建环境介绍

硬件环境:

一台PC。

一块 iTOP-RK3588开发板。

网络环境:

PC、开发板通过网线连接到路由器,虚拟机为桥接模式。

1.2 搭建NFS服务器

这里选择虚拟机 Ubuntu 作为主机。首先在虚拟机Ubuntu 上安装NFS 服务,这是一个软件包,可以使用 apt 命令下载(要保证虚拟机可以上网)。 在虚拟机Ubuntu 的root 用户下输入以下命令安装 Ubuntu NFS 服务:

apt-get install nfs-kernel-server

如下图所示:

由于作者已经安装好了,所以这里显示零更新、零新安装,安装成功之后继续搭建 NFS 服务器。

使用以下命令对exports文件进行内容的修改,

vim /etc/exports

在最后一行添加以下内容,添加完成如下图所示:

/home/nfs/ *(rw,sync,no_root_squash)

 

下面讲解一下上面输入的内容都代表什么意思:

/home/nfs/:要共享的目录;“/home/nfs/ ”目录需要自己建,默认Ubuntu 中是没有的。

*:代表允许所有的网络段访问;

rw:是可读写权限;

sync:是资料同步写入内存和硬盘;

no_root_squash:是 Ubuntu nfs 客户端分享目录使用者的权限,如果客户端使用的是 root 用户,那么对于该共享目录而言,该客户端就具有 root 权限;

其他 Ubuntu nfs 常用的参数有:

ro:只读访问

async :nfs 在写入数据前可以相应请求

secure: nfs 通过以下的安全 TCP/IP 端口发送

insecure: nfs 通过 1024 以上的端口发送

wdelay:如果多个用户要写入 NFS 目录,则归组(默认)

no_wdelay:如果多个用户要写入 NFS 目录,则立即写入,当使用 async 时,无需此设置

hide:在 nfs 共享目录中不共享妻子目录

no_hide:共享 nfs 目录的子目录

subtree_check:如果共享/usr/bin 之类的子目录时,强制 nfs 检查父目录的权限(默认)

no_subtree_check:和上面相对,不检查父目录权限

all_squash:共享文件的 UID 和 GID 映射匿名用户 anonymous,适合公用目录

no_all_squash:保留共享文件的 UID 和 GID(默认)

root_squash root:用户的所有请求映射成如 anonymous 用户一样的权限(默认)

no_root_squash root:用户具有根目录的完全管理访问权限

anonuid=xxx:指定 nfs 服务器/etc/passwd 文件中匿名用户多的 UID

anongid=xxx:指定 nfs 服务器/etc/passwd 文件中匿名用户的 GID

接下来使用以下命令重启 rpcbind 服务,运行结果如下图:

/etc/init.d/rpcbind restart

 

然后输入以下命令重启 nfs 服务

/etc/init.d/nfs-kernel-server restart

运行结果如下图: 

 

使用以下命令,查看是否成功挂载nfs目录(这里也可能要重启ubuntu才会又挂载目录),如下图所示:

showmount -e

 

至此,Ubuntu nfs 服务器端的配置完成。 

1.3 NFS共享目录使用

  通过路由器网线连接开发板和路由器。系统起来后首先使用以下命令查看开发板 ip。

ifconfig

如下图所示: 

然后在ubuntu同样使用以下命令查看 NFS 服务器的 ip,如下图所示:

ifconfig

 

可以查看到开发板和服务器在同一网段,使用 ping 命令测试网络可以看到开发板和 ubuntu 服务器之间的网络是连通的,如下图所示, 

在开发板串口终端使用以下命令挂载到 nfs 服务器(buildroot系统默认支持),如下图所示:

mount -t nfs -o nfsvers=3,nolock 192.168.1.19:/home/nfs /mnt/

 

(Ubuntu和Debian系统默认不支持,使用命令“apt-get install nfs-kernel-server”安装即可。)

进入虚拟机 Ubuntu 系统中的”/home/nfs”目录(这个目录是 NFS 服务器目录,也就是在配置文件中设置的目录),使用“vim hello”命令新建 hello 文档,并添加“hello topeet nfs”内容,如下图:

 

此时在开发板挂载的目录下,可以看到刚刚创建的文档。最后可以使用命令“umount /mnt/”命令卸载 NFS 目录。  

RK3588 设备上启用 NFS(Network File System)服务,可以实现设备与其他主机之间的文件共享。以下是详细的步骤说明: ### 配置 NFS 服务器 1. **安装 NFS 服务器软件** 在 RK3588 上运行的 Linux 系统中,首先需要安装 NFS 服务器相关的软件包。对于基于 Ubuntu 或 Debian 的系统,可以通过以下命令安装: ```bash sudo apt update sudo apt install nfs-kernel-server ``` 2. **创建共享目录** 创建一个用于 NFS 共享目录,例如 `/nfs/share`: ```bash sudo mkdir -p /nfs/share ``` 3. **配置 NFS 导出目录** 编辑 NFS 配置文件 `/etc/exports`,添加需要共享目录及其访问权限设置。例如,允许 IP 地址为 `192.168.1.0/24` 的网络中的所有设备以读写方式访问 `/nfs/share` 目录,并且不进行根用户压缩: ``` /nfs/share 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check) ``` 保存并关闭文件后,重启 NFS 服务以应用更改: ```bash sudo systemctl restart nfs-kernel-server ``` 4. **检查 NFS 导出状态** 可以使用以下命令查看当前 NFS 导出的目录列表: ```bash sudo exportfs -v ``` ### 客户端挂载 NFS 共享目录 在客户端设备上,可以使用 `mount` 命令将 RK3588 上的 NFS 共享目录挂载到本地文件系统中。假设客户端也是基于 Linux 系统,执行以下命令: ```bash sudo mount -t nfs 192.168.1.X:/nfs/share /mnt/local_share ``` 其中 `192.168.1.X` 是 RK3588 的 IP 地址,`/mnt/local_share` 是客户端上用于挂载的本地目录。 ### 自动挂载 NFS 共享目录 为了使 NFS 共享目录在系统启动时自动挂载,可以在客户端的 `/etc/fstab` 文件中添加相应的条目。例如: ``` 192.168.1.X:/nfs/share /mnt/local_share nfs defaults 0 0 ``` 保存文件后,下次系统启动时会自动挂载该 NFS 共享目录。 ### 注意事项 - 确保防火墙设置允许 NFS 流量通过。通常情况下,NFS 使用的是 TCP 和 UDP 协议的 2049 端口。 - 如果遇到性能问题,可以考虑调整 NFS 挂载选项,如增加 `rsize` 和 `wsize` 参数值来提高数据传输效率。 - 对于嵌入式设备,特别是 RK3588 这样的高性能计算平台,确保内核支持 NFS 服务,并且相关模块已加载[^2]。 以上步骤应该能够帮助您在 RK3588 设备上成功启用 NFS 服务,并实现与其它设备的文件共享
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值