虚拟机和开发板之间通过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服务具体步骤]( https://www.lxlinux.net/6086.html#:~:text=Ubuntu 20.04 配置NFS服务具体步骤 1 系统环境 NFS服务端:Ubuntu 20.04 LTS ,%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E5%88%9B%E5%BB%BA%E6%96%87%E4%BB%B6%E6%B5%8B%E8%AF%95%E4%B8%80%E4%B8%8B%EF%BC%8C%E5%A6%82%E4%B8%8B%E6%89%80%E7%A4%BA%EF%BC%9A%20...%208%20%E6%80%BB%E7%BB%93%20NFS%E6%98%AFNetwork%20File%20System%E7%9A%84%E9%A6%96%E5%AD%97%E6%AF%8D%E7%BC%A9%E5%86%99%E3%80%82%20)

posted @ 2023-09-23 14:46  江水为竭  阅读(739)  评论(0)    收藏  举报