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 目录。