如何在Ubuntu上搭建NFS服务器实现开发板与Ubuntu之间的文件共享

由于通过USB烧录方式比较繁琐,且每次编译好可执行文件,都需要制作文件系统烧录到开发板,这里介绍一种比较简单的方式,通过nfs服务,将Ubuntu的共享目录挂载到开发板的共享目录下,直接就可以通过nfs将可执行程序文件直接下发到开发板中,省去了镜像烧录的步骤。

前提:请确保你的Ubuntu能够上网,如果你的Ubuntu无法上网,但是Windows能够通过samba访问到Ubuntu的文件,可以参考《如何在Windows上搭建NFS服务器实现开发板与Windows之间的文件共享》进行配置。

一、Ubuntu下载NFS并做NFS服务的相关配置

  • 步骤1:进入Ubuntu,打开终端,输入下面的命令,安装NFS
sudo apt-get install nfs-kernel-server

在这里插入图片描述

  • 步骤2:分步执行下面的命令,创建一个nfs的共享目录,并给访问权限
cd ~
mkdir nfs
chmod 777 nfs

在这里插入图片描述

  • 步骤3:执行下面的命令,打开nfs的配置文件
sudo vim /etc/exports

在这里插入图片描述

  • 按下键盘 i 键进入输入模式,在文件最下面添加如下所示的配置。
    其中:
    /home/nfst_shared —要共享的目录(就是步骤2创建的nfs目录的绝对路径)
    192.168.0.—允许访问的网段,也可以是ip地址、主机名(能够被服务器解析)、如果设置为,就是所有人都能访问
    (rw,sync,no_root_squash,no_subtree_check)
    rw:读/写权限
    sync:数据同步写入内存和硬盘
    no_root_squash:服务器允许远程系统以root特权存取该目录
    no_subtree_check:关闭子树检查
/home/hispark/nfs    192.168.*(rw,sync,no_root_squash,no_subtree_check)

在这里插入图片描述

  • 按键盘的 Esc 键,然后输入 :wq 命令,保存退出
    在这里插入图片描述

  • 步骤4:执行下面的命令,重启portmapper 端口映射服务

sudo service portmap restart

在这里插入图片描述

  • 步骤5:执行下面的命令,重启 NFS服务
sudo service nfs-kernel-server restart

在这里插入图片描述
*步骤6、执行下面的命令,测试Ubuntu的 nfs是否开启,如果开启成功,会打印出nfs共享的目录

showmount -e

在这里插入图片描述

二、进行开发板的网络配置

  • 步骤1、将开发板与windows电脑,通过网线进行连接。网线的具体连接方式可参考《Taurus计算机视觉基础开发套件操作指导.pdf》的6.8节的内容。

  • 步骤2:配置开发板在Windows的IP地址,点击电脑右下角的电脑图标,进入网络和Internet设置
    在这里插入图片描述
    然后再点击以太网,再点击更改适配器选项。
    在这里插入图片描述
    选中与开发板连接的那个网络设备,鼠标右键,点击属性
    在这里插入图片描述

鼠标双击Internet协议版本4,进入IP地址的配置

在这里插入图片描述
选择使用下面的IP地址,再配置IP地址和子网掩码,然后再一路点击确定。
在这里插入图片描述
如果开发板和Windows能够互相ping通,则说明网络配置成功。

在这里插入图片描述

三、配置虚拟机的网络连接模式

  • 步骤1:在Windows的搜索位置输入 VMnet,并以管理员身份运行
    在这里插入图片描述

  • 步骤2:进入虚拟网络编辑器,选择Vmnet0,在已桥接至处选择 Windows与开发板连接的那个网络设备,然后再点击应用,再点击确定。
    在这里插入图片描述

  • 步骤3:关闭Ubuntu,然后点击编辑虚拟机设置
    在这里插入图片描述

  • 步骤4:进入虚拟机设置,点击网络适配器,选择自定义特定虚拟网络:选择VMnet0(桥接模式),再点击确定即可。
    在这里插入图片描述

  • 步骤5:将Ubuntu开机,点击右上角的网络连接按钮,再点击有线设置。
    在这里插入图片描述

  • 步骤6:点击设置按钮
    在这里插入图片描述

  • 步骤7: 点击IPv4,选择手动,输入IP地址和子网掩码,再点击应用
    在这里插入图片描述

  • 步骤8:验证Ubuntu与开发板是否能ping通,如下图所示,开发板与Ubuntu是能够互相ping通的
    在这里插入图片描述

四、将Ubuntu的 nfs目录挂载到开发板的nfs目录下

  • 步骤1:在开发板的根目录,创建一个nfs文件夹
cd /
mkdir nfs

在这里插入图片描述

  • 步骤2: 执行下面的命令,挂载nfs目录
    其中:
    192.168.200.2 是Ubuntu的IP地址
    /home/hispark/nfs 是Ubuntu的nfs共享目录
    /nfs 是开发板的nfs共享目录
mount -t nfs -o nolock 192.168.200.2:/home/hispark/nfs  /nfs

在这里插入图片描述

  • 步骤3:验证nfs是否能共享
    分步执行下面的命令,在开发板的nfs目录下,创建一个test.txt 文件,看Ubuntu的nfs目录下是否能看到
cd /nfs

echo " test nfs " > test.txt 

在这里插入图片描述
分步执行下面的命令,进入Ubuntu的 nfs共享目录,查看是否有test.txt这个文件,且内容是否是 “test nfs”

cd /home/hispark/nfs

sync

ls -la

chmod 777 test.txt

cat test.txt

在这里插入图片描述
到此,Ubuntu与开发板之间的nfs共享文件的服务器就搭建成功了。

五、举例说明

如果你在Ubuntu中重新编译了任何可执行文件,都可以将他复制到Ubuntu的nfs目录下,然后再在开发板的nfs目录下,将对应的可执行文件拷贝到开发板的对应目录下,给权限并执行。
这里以hispark_taurus_helloworld_sample这边demo为例进行演示。
按照视频,编译好后,本来是要拷贝到root目录下,然后制作文件系统的,这里我们使用nfs的方式来操作,看一下到底有多方便。

  • 首先进入smp目录下,将编译好的sample_lcd 可执行文件拷贝的nfs的共享目录下。
cp sample_lcd /home/hispark/nfs/

在这里插入图片描述

  • 执行完cp操作之后,我们可以在开发板下执行 sync 命令,进行一下同步,再执行ls命令,可以看到 开发板的nfs目录已经有了 sample_lcd这个文件了。

在这里插入图片描述

  • 这个时候,执行cp命令,就可以将sample_lcd文件拷贝到开发板的 root目录下
cp sample_lcd /root/

在这里插入图片描述

  • 接下来,就是给可执行权限,再运行就可以啦,是不是很方便。
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Wu_GuiMing/article/details/115859657
今日推荐