讯为RK3568开发板入门之-tftp&nfs的配置

基础条件

VMware虚拟机
Ubuntu18.04 【网络配置陈桥接模式】
RK3568开发板【我是用讯为的RK3568】
网线连接路由器或者和电脑直连

配置TFTP和NFS的作用

使用tftp和nfs网络挂载可以很方便的进行软件的调试,挂载成功后只要把Ubuntu下编译好的文件程序放到挂载的目录下,开发板上面就可以直接运行了。否则还需要通过windows进行拷贝比较麻烦。

一、首先配置Ubuntu的tftp服务

1.1 安装 TFTP 服务端

首先在 ubuntu 中执行以下命令安装 TFTP 服务:

sudo apt-get install tftp-hpa tftpd-hpa

在家目录创建 tftpboot 文件夹,并修改文件夹权限为777,如下图所示:

mkdir -p /home/topeet/tftpboot
sudo chmod 777 /home/topeet/tftpboot

权限修改为777文件夹是绿色的

1.2 最后修改配置文件,打开配置文件以后如下图所示:

sudo vim /etc/default/tftpd-hpa

修改后如下:

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/topeet/tftpboot/"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l-c-s"

讯为RK3568开发板入门之-tftp&nfs的配置_第1张图片

1.3 修改完成保存退出,在终端输入以下命令重启 tftpd-hpa 服务。

service tftpd-hpa restart

二、 安装 NFS 服务

2.1 首先执行以下命令安装 NFS 服务:

sudo apt-get install nfs-kernel-server

2.2 然后使用以下命令创建 rk_rootfs 文件并赋予其777权限如下图所示:

在这里插入图片描述

2.3 使用以下命令编辑/etc/exports 文件,并添加 NFS 服务的工作目录的路径:

sudo vim /etc/exports

添加 NFS 目录:以/home/topeet/rk_rootfs 为例,将其添加到/etc/exports 文件中, 如下所示:

/home/topeet/rk-rootfs *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)

![在这里插入图片描述](https://img-blog.csdnimg.cn/0683dfbdd65f4e03aec609e3381a8087.png在这里插入图片描述
配置参数说明:

rw :					读写访问
sync :					所有数据在请求时写入共享
async :				NFS 在写入数据前可以相应请求
secure :				NFS 通过 1024 以下的安全 TCP/IP 端口发送
insecure :				NFS 通过 1024 以上的端口发送
wdelay :				如果多个用户要写入 NFS 目录,则归组写入(默认)
no_wdelay :			如果多个用户要写入 NFS 目录,则立即写入,当使用 async 时,无需此设置。
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_squas root:	用户具有根目录的完全管理访问权限

2.4 配置nfs的nfs-kernel-server这文件

终端打开文件

sudo vi /etc/default/nfs-kernel-server

修改为
讯为RK3568开发板入门之-tftp&nfs的配置_第2张图片

2.5 使用以下命令重启 NFS 服务:

service nfs-kernel-server restart

2.6可以使用 showmount -e 查看挂载情况

讯为RK3568开发板入门之-tftp&nfs的配置_第3张图片
说明:/home/topeet/rk_rootfs * 这里的 * 代表任意IP

三、配置开发板网络

3.1 连接好网线,上电启动开发板,在加载阶段点击“ctrl+c”进入 uboot 命令行,如下图所示:

讯为RK3568开发板入门之-tftp&nfs的配置_第4张图片

3.2 配置开发板和tftp服务的IP(Ubuntu的ip)

setenv ipaddr 192.168.31.98					设置开发板的IP
setenv serverip 192.168.31.189				设置tftp服务的IP,这里就是Ubuntu的IP
setenv gateway 192.168.31.1					网关

然后保存参数

saveenv

四、nfs 挂载文件系统

4.1 开发板还是在uboot下输入

setenv bootargs "root=/dev/nfs root=/dev/nfs nfsroot=${serverip}:/home/topeet/rk_rootfs,v3 rw ip=${ipaddr}:${serverip}:${gateway}:255.255.255.0::eth1:off"

然后保存

saveenv

4.2 查看Ubuntu下的rk_rootfs目录

讯为RK3568开发板入门之-tftp&nfs的配置_第5张图片
开发板下的目录
讯为RK3568开发板入门之-tftp&nfs的配置_第6张图片
是一样的

五、我新建了一个用于共享的独立Ubuntu给开发板的目录,权限和设置都是和上面rk_rootfs一样的。然后在开发板系统中挂载。

5.1 这里把Ubuntu的nfs_rootfs挂载到了开发板发mnt下:

mount -t nfs 192.168.31.189:/home/topeet/nfs_rootfs  /mnt

在这里插入图片描述

5.2 测试

Ubuntu下拷贝一个编译好的rk-opent程序到nfs_rootfs目录下
讯为RK3568开发板入门之-tftp&nfs的配置_第7张图片
然后在到开发板的mnt目录下查看并执行
讯为RK3568开发板入门之-tftp&nfs的配置_第8张图片
至此,网络挂载nfs成功。

你可能感兴趣的:(linux,ubuntu,RK3568,嵌入式)