首页 > 其他分享 >开发板nfs挂载NAT虚拟机的文件系统环境搭建--Apple的学习笔记

开发板nfs挂载NAT虚拟机的文件系统环境搭建--Apple的学习笔记

时间:2023-11-05 14:32:46浏览次数:41  
标签:Apple -- 虚拟机 192.168 PC setenv nfs 挂载

一,前言

总体来说我还是想用NAT虚拟机,所以基于开发板nfs挂载桥接虚拟机的文件系统环境搭建--Apple的学习笔记中的配置继续修改。

二,ubuntu虚拟机中nfs挂载设置

  1. 修改ip地址为192.168.112.11
  2. 添加路由端口 sudo gedit /etc/services 最后添加 mountd 9999/tcp mountd 9999/udp
  3. PC 以太网2设置ip地址从之前设置的192.168.7.3改为192.168.7.5,就变成了之前的ubuntu地址了。
  4. 连接好网线,给开发板上电,这样以太网2就连接上了。

验证ubuntu可以ping通PC以太网2 192.168.7.5,PC也可以ping ubuntu 192.168.112.11,开发板可以ping 192.168.7.5的PC。因为uboot不支持PC对它ping,所以只要uboot可以ping通PC即可。

  1. 打开PC tftp64工具,按之前的方法设置即可,然后uboot发命令tftp 0x82000000 zImage验证通过。

三,开发板设置

1.修改开发板的netargs参数

setenv netargs 'setenv bootargs console=ttyO0,115200n8  root=/dev/nfs nfsroot=192.168.7.5:/work/img/rootfs,v3,tcp,port=2049,mountport=9999 rw ip=192.168.7.2:192.168.7.5:192.168.7.1:255.255.255.0::eth0:off'

遇到的坑:nat方式下,进行nfs挂载,PC的防火墙需要关闭,否则路由不过去

bootargs中tcp加不加无所谓,我在虚拟机NAT的port端口映射仅添加了tcp,没有加udp,所以他只会用tcp,不过最好显示的加上。NAT实现nfs挂载的重点就是关闭PC的防火墙。

开发板nfs挂载NAT虚拟机的文件系统环境搭建--Apple的学习笔记_NAT

另外uboot仅支持v2的nfs,所以无法挂载,bootargs我设置为v2也无法挂载,说明ubuntu14.04这块支持有问题,我按网上教程设置了也无用。

2.找到了我之前设置的环境变量,主要对netargs进行了修正,若之前无环境变量文件,设置如下

setenv ipaddr 192.168.7.2
setenv serverip 192.168.7.5
setenv netmask 255.255.255.0
setenv gatewayip 192.168.7.1
setenv hostname "eth0"
setenv rootpath "/work/img"
setenv bootfile "zImage"
setenv myrootfs "/rootfs"
setenv fdtfile "am335x-boneblack.dtb"
setenv nfsopts "v3,tcp,port=2049,mountport=9999 rw"
setenv netargs "setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath}${myrootfs},${nfsopts} ip=${static_ip}"
setenv nfs_bootfile 'tftp 0x82000000 ${bootfile}'
setenv nfs_fdtfile 'tftp 0x88000000 ${fdtfile}'
setenv bootcmd 'setenv autoload no;run nfs_bootfile; run findfdt; run nfs_fdtfile; run netargs; bootz ${loadaddr} - ${fdtaddr}'
saveenv

四,小结

记得一开始NAT端口路由无法进行nfs挂载,真心不清楚哪个环节出错了。主要是网络协议不熟悉,就算wireshark抓包看到错误也不清楚如何解决。另外就是3年前非虚拟机情况下都是正常的,但是用了虚拟机ubuntu就不正常了,所以为了简化问题,先设置为桥接虚拟机通过了nfs挂载后,又回到NAT虚拟机进行nfs挂载,这其实用了控制变量法来排查问题。虽然是比较低级的排查问题的方法,但是这也是很有效的方法。

标签:Apple,--,虚拟机,192.168,PC,setenv,nfs,挂载
From: https://blog.51cto.com/AppleCai/8193775

相关文章

  • 150. 逆波兰表达式求值
    150.逆波兰表达式求值题目描述给你一个字符串数组tokens,表示一个根据逆波兰表示法表示的算术表达式。请你计算该表达式。返回一个表示表达式值的整数。注意:有效的算符为'+'、'-'、'*'和'/'。每个操作数(运算对象)都可以是一个整数或者另一个表达式。两个整数之间的除法总......
  • 无涯教程-批处理 - 数组
    数组在批处理脚本中没有明确定义为一种类型,但可以实现,在批处理脚本中实现数组时,需要注意以下事项。需要使用set命令定义数组的每个元素。需要"for"循环来遍历数组的值。创建数组使用以下set命令创建一个数组。seta[0]=1其中0是数组的索引,而1是分配给数组第一个元素的值。......
  • Maven Settings.xml 的语法详解
    Maven的settings.xml文件是Maven的一个配置文件,包含了影响Maven运行方式的全局配置信息。例如,你可以在settings.xml文件中配置本地仓库的位置,连接的远程仓库,以及代理设置等。settings.xml文件的位置有两个,一个是Maven安装目录的conf文件夹下,这个是全局的settings.x......
  • Python GDAL绘制多个栅格的像素直方图
      本文介绍基于Python中gdal模块,实现对大量栅格图像批量绘制直方图的方法。  首先,明确一下本文需要实现的需求:现需对多幅栅格数据文件进行依据其像元数值的直方图绘制,具体绘制内容即各栅格图像像素数值的分布情况;所有栅格数据都保存在同一目标路径下,且均为.tif格式;而目标路径......
  • 选择实时操作系统(RTOS)的要点详解
    选择实时操作系统(RTOS)的要点详解dy9h127cequf•来源:CSDN-refine19• 2023-05-3009:45 • 561次阅读 • 0个评论对许多嵌入式项目来说,系统设计师都倾向于选择实时操作系统(RTOS)。但RTOS总是必要的吗?答案是取决于具体的应用,因此了解我们要达到什么目标是决定RTOS是必......
  • 2023-2024-1 20231419 《计算机基础与程序设计》第六周学习总结
    2023-2024-120231419《计算机基础与程序设计》第六周学习总结作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06这个作业的目标自学《计算机科学概......
  • CF1851D
    貌似我与大家后面的判断不太一样?分析由于前缀和的定义,我们可以知道他们的差分便是原数组,下面的差分数组,是题目给出的前缀和的差分。于是,我们可以用个桶将$1\simN$出现的数存起来。随后判断每个数是否出现过,若没出现过,使计数器加一。这里我们假设输出YES。因为前缀和少了......
  • 20211314王艺达学习笔记8
    Unix/Linux系统编程第五章定时器及时钟服务5.1硬件定时器定时器由时钟源和可编程计数器组成。时钟源会产生周期性电信号。计数器减为0时,计数器向CPU生成一个定时器中断,计数器周期称为定时器刻度,是系统的基本计时单元。5.2个人计时定时器实时时钟(RTC)即使在个人计算机关机......
  • [CSS]关于<img>标签距离底部盒子5px的问题
     问题描述:在某个盒子内部放入一个<img>标签,不写样式的情况下,<img>总是和父盒子有5px空隙。<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>清除图片多5px问题</title><linkrel="stylesheet"......
  • 点亮PC13
    #include"stm32f10x.h"//Deviceheaderintmain(void){//打卡GPIOC的时钟RCC->APB2ENR=0x00000010;GPIOC->CRH=0x00300000;//控制PC13等是否点亮全0为亮00002000是灭灯GPIOC->ODR=0x00000000;while(1)......