如何通过NFS将虚拟机与开发板实现互联?

摘要:简介 NFS是Network File System的首字母缩写。它是一种分布式协议,使客户端可以访问远程服务器上的共享文件。它允许网络中的计算机之间通过TCPIP网络共享资源。 配置过程 安装NFS服务端 sudo apt-get in
简介 NFS是Network File System的首字母缩写。它是一种分布式协议,使客户端可以访问远程服务器上的共享文件。它允许网络中的计算机之间通过TCP/IP网络共享资源。 配置过程 安装NFS服务端 sudo apt-get install nfs-kernel-server 遇到提示:输入Y,同意。 VMware桥接模式的设置 VMware桥接模式设置:设置到以太网网口 编辑虚拟机的网络适配器 ​ 这里 复制物理网络连接状态 是指虚拟机里也会显示 网络电缆被拔出 的信息。 启动Linux虚拟机。点开设置。可以看到显示 有线连接 已拔出。 点击编辑按钮,选择IPV4项。选择手动(Manual)。 IP地址 、子网掩码 、网关 分别填入:192.168.0.3、 255.255.255.0、 0.0.0.0 。 网络测试 现在可以用直连网线 连接开发板和主机。然后测试一下开发板和虚拟机。 连接网线后,首先Ubuntu显示网线已连接: 在虚拟机下输入 ifconfig。 SecureCRT 连接开发板(或其他方式),输入ifconfig。 创建NFS共享目录 现在在Ubuntu虚拟机下,创建给开发板共享的文件夹。 我是使用根目录的下的文件夹。/NFS_test_dir/test1/ 使用命令:sudo mkdir -p /NFS_test_dir/test1。 然后需要配置权限: sudo chown nobody:nogroup /NFS_test_dir/test1 sudo chmod -R 777 /NFS_test_dir/test1 (希望所有客户端都可以访问该共享文件夹里面的内容,因此分配最高权限) 编辑exports配置文件 打开 Ubuntu虚拟机下的/etc/exports文件。 在文件最后添加: /NFS_test_dir/test1 *(insecure,rw,async,no_root_squash) 配置客户端 开发板建立挂载点 cd /mnt mkdir nfs 在Ubuntu虚拟机启动NFS服务器: sudo /etc/init.d/nfs-kernel-server start 启动服务器。 提示成功即成功。或者sudo systemctl status nfs-server检查是否启动。 开发板中执行挂载命令: mount -t nfs 192.168.0.3:/NFS_test_dir/test1 /mnt/nfs -o nolock 无报错,即表明挂载成功。 测试 我们可以先在Ubuntu虚拟机交叉编译一个HelloWorld程序,然后将它放在共享目录,也就是/NFS_test_dir/test1。 现在看看开发板上的情况: 参考资料 Ubuntu 20.04 配置NFS服务具体步骤