VMware虚拟机
Ubuntu18.04 【网络配置陈桥接模式】
RK3568开发板【我是用讯为的RK3568】
网线连接路由器或者和电脑直连
使用tftp和nfs网络挂载可以很方便的进行软件的调试,挂载成功后只要把Ubuntu下编译好的文件程序放到挂载的目录下,开发板上面就可以直接运行了。否则还需要通过windows进行拷贝比较麻烦。
首先在 ubuntu 中执行以下命令安装 TFTP 服务:
sudo apt-get install tftp-hpa tftpd-hpa
在家目录创建 tftpboot 文件夹,并修改文件夹权限为777,如下图所示:
mkdir -p /home/topeet/tftpboot
sudo chmod 777 /home/topeet/tftpboot
权限修改为777文件夹是绿色的
sudo vim /etc/default/tftpd-hpa
修改后如下:
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/topeet/tftpboot/"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l-c-s"
service tftpd-hpa restart
sudo apt-get install nfs-kernel-server
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: 用户具有根目录的完全管理访问权限
终端打开文件
sudo vi /etc/default/nfs-kernel-server
service nfs-kernel-server restart
说明:/home/topeet/rk_rootfs * 这里的 * 代表任意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
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
mount -t nfs 192.168.31.189:/home/topeet/nfs_rootfs /mnt
Ubuntu下拷贝一个编译好的rk-opent程序到nfs_rootfs目录下
然后在到开发板的mnt目录下查看并执行
至此,网络挂载nfs成功。