虚拟机和开发板之间通过NFS互联

简介

NFSNetwork File System的首字母缩写。它是一种分布式协议,使客户端可以访问远程服务器上的共享文件。它允许网络中的计算机之间通过TCP/IP网络共享资源。

配置过程

安装NFS服务端

sudo apt-get install nfs-kernel-server

遇到提示:输入Y,同意。

VMware桥接模式的设置

  1. VMware桥接模式设置:设置到以太网网口

  1. 编辑虚拟机的网络适配器

​ 这里 复制物理网络连接状态 是指虚拟机里也会显示 网络电缆被拔出 的信息。

  1. 启动Linux虚拟机。点开设置。可以看到显示 有线连接 已拔出

  1. 点击编辑按钮,选择IPV4项。选择手动(Manual)。

IP地址子网掩码网关 分别填入:192.168.0.3255.255.255.00.0.0.0

网络测试

现在可以用直连网线 连接开发板和主机。然后测试一下开发板和虚拟机。

连接网线后,首先Ubuntu显示网线已连接:

  1. 在虚拟机下输入 ifconfig
  2. SecureCRT 连接开发板(或其他方式),输入ifconfig

创建NFS共享目录

现在在Ubuntu虚拟机下,创建给开发板共享的文件夹。

  1. 我是使用根目录的下的文件夹。/NFS_test_dir/test1/
  2. 使用命令:sudo mkdir -p /NFS_test_dir/test1
  3. 然后需要配置权限:
    1. sudo chown nobody:nogroup /NFS_test_dir/test1
    2. sudo chmod -R 777 /NFS_test_dir/test1
    3. (希望所有客户端都可以访问该共享文件夹里面的内容,因此分配最高权限)

编辑exports配置文件

  1. 打开 Ubuntu虚拟机下的/etc/exports文件。
  2. 在文件最后添加:
    /NFS_test_dir/test1 *(insecure,rw,async,no_root_squash)

配置客户端

  1. 开发板建立挂载点

    1. cd /mnt

    2. mkdir nfs

  2. 在Ubuntu虚拟机启动NFS服务器:

    1. sudo /etc/init.d/nfs-kernel-server start 启动服务器。

      1. 提示成功即成功。
        或者sudo systemctl status nfs-server检查是否启动。
  3. 开发板中执行挂载命令:

    1. mount -t nfs 192.168.0.3:/NFS_test_dir/test1 /mnt/nfs -o nolock

    2. 无报错,即表明挂载成功。

测试

我们可以先在Ubuntu虚拟机交叉编译一个HelloWorld程序,然后将它放在共享目录,也就是/NFS_test_dir/test1

现在看看开发板上的情况:

参考资料

Ubuntu 20.04 配置NFS服务具体步骤

热门相关:神秘总裁小小妻   上将大叔,狼来了!   我是仙凡   宠物小精灵之庭树   魔神狂后