目录

  • 前言
  • 一、 为什么要挂载nfs文件系统
  • 二、挂载前的准备工作
    • 2.1 硬件连接
    • 2.2 虚拟机网络配置
    • 2.3 开发板网路配置
  • 三、网络测试
  • 四、 手动挂载(单纯挂载4.2可跳过)
    • 4.1 普通的挂载(不能进行文件传输)
    • 4.2 有一点不普通的挂载(可以进行文件传输)
  • 五、 自动挂载(可跳过)

前言

在学校嵌入式实验课程中接触到了JZ2440这块板子,做了关于nfs文件系统的实验,所以记录一下。

一、 为什么要挂载nfs文件系统

为什么我们要挂载文件,在根文件系统制作的时候,我们都是在虚拟机中进行一系列的操作对吧,什么解压缩,图形化配置,编译,使用工具生成镜像然后就烧到板子里面等等。这听起来就很麻烦,做起来当然肯定也没那么轻松。比如,当我们把镜像烧进板子里面后,发现有个开发板etc目录下有个文件没加进去(比如fastab这个文件),那么这个时候,我们就要在虚拟机的对应目录下的etc目录(这个目录做过根文件系统制作的应该知道,比如first_fs、fs_mini)添加这个fastab文件,然后再用工具把修改后的目录生成镜像烧进板子里面。这样是不是很麻烦,所以当我们用nfs时,就可以不用这么繁琐了。

二、挂载前的准备工作

2.1 硬件连接

第一步,一根网线,连接开发板的网孔和电脑的网孔(电脑没网孔用拓展坞)
第二步,启动开发板,进入系统。

第三步,输入命令ifconfig,如果显示有东西,结束第三步,没东西的话输入ifconfig eth0 up。执行完这个命令,再ifconfig,就会有显示东西了,但是可能没ip,好,先不管。

第四步,打开电脑下面的网络图标,再点击网络和internet设置,点击更改适配器选项,就会看到下面这个画面,会有一个以太网,然后会显示未识别网络,这是正常的,记住图中箭头指向的这个名字

2.2 虚拟机网络配置

第一步,虚拟机要有两个网络适配器,一个选择NAT模式,另外一个选择自定义VMnet0桥接

第二步,打开虚拟网络编辑器(左上角的编辑里面)

第三步,将VMnet0 桥接到刚刚让你记住箭头指向的那个名字,然后确定,重启虚拟机,虚拟机没开机的话就开机就行了。

第四步,开机后,打开终端,执行ifconfig命令。就会出现跟我下面差不多的画面,一个网卡有IP(这就是当初两个网络适配器中配置成NAT模式那个,就会有IP),一个网卡没有IP(配置成自定义VMnet0桥接的那个

第五步,手动配置IP,执行命令

sudo ifconfig eth5(这里填你虚拟机没IP的那个网卡) 192.168.XX.XX(这个IP你可以自己随便设一个,不过到后面开发板设置的时候要跟这个虚拟机IP同一个网段才行)

可以方便一点,直接设置成跟上面的IP同个网段

sudo ifconfig eth5 192.168.171.3


到这里,虚拟机下的网络配置就完成了。

2.3 开发板网路配置

进入到开发板系统,执行ifconfig这个命令,如果没有IP地址,就执行下面的命令,设置一个IP地址(这个IP要跟虚拟机同一个网段,就是IP地址第三个数要相同,第四个数不同)
我这里就设置这个,因为我虚拟机设置了192.168.171.3

ifconfig eth0 192.168.171.2

执行完这个命令后,再ifconfig,就会发现这个时候有IP了。

三、网络测试

在开发板上,试着ping一下虚拟机,在虚拟机中试着ping开发板,如果能相互ping通,基本上就没什么问题了,如果ping不通,换个拓展坞试一下,可能是网孔的问题。

四、 手动挂载(单纯挂载4.2可跳过)

挂载前,虚拟机还要修改一个配置文件,加一行东西,具体参考下面博客:
挂载nfs虚拟机端修改exports文件

4.1 普通的挂载(不能进行文件传输)

挂载其实就是执行一个命令,最简单普通的挂载就是:

mount -t nfs -o nolock 虚拟机IP:要挂载的目录 在开发板系统的挂载点

执行命令(如果开发板系统根目录下没有mnt目录,则要手动创建):

mount -t nfs -o nolock 192.168.171.3:/work/nfs_root/fs_mini /mnt

执行完这个命令之后,我们cd/mnt目录下,执行ls命令,就可以看到你虚拟机中fs_mini目录下的内容:

4.2 有一点不普通的挂载(可以进行文件传输)

如果我们想利用nfs进行一些小文件的传输(就是虚拟机的某个文件,传到开发板),因为NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象。所以我们可以使用TCP协议,就可以使用如下的命令进行挂载:

mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.171.3:/work/nfs_root/fs_mini /mnt

五、 自动挂载(可跳过)

这里我说的自动挂载,不是通过修改Uboot中的环境变量,从而让NFS文件系统作为我的根文件系统,而是写个简单的脚本一键挂载。(因为在Uboot中把nfs文件系统作为根文件系统,如果网络出现什么问题或者设置错,会导致你根本进入不了根文件系统,所以我觉得不好使)

第一步,在开发板系统中的/root目录下,创建一个脚本文件nfs.sh,输出以下内容:

#!/bin/sh
ifconfig eth0 192.168.171.2
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.171.3:/work/nfs_root/fs_mini /mnt &

192.168.171.2 是你的开发板地址
192.168.171.3 是你虚拟机的地址

这样,只要你虚拟机没重启,你板子重新启动的时候,就执行这个脚本,就可以一键挂载nfs文件系统到/mnt目录下,方便一点。

【JZ2440】挂载NFS文件系统(保姆级)相关推荐

  1. 【杂项】JZ2440挂载NFS网络文件系统

    WIN11系统使用JZ2440挂载NFS 1.虚拟机.PC机.开发板ping通 1.1电脑网线配置 1.2配置虚拟机的网络 2.配置开发板自启动NFS 1.虚拟机.PC机.开发板ping通 本次PC电 ...

  2. 在windows下挂载nfs文件系统

    在windows下挂载nfs文件系统 这里以win7系统为例. 安装NFS客户端工具 点击开始 -> 控制面板. 点击"程序". 点击"打开或关闭windows功能 ...

  3. 天嵌TQ210挂载NFS文件系统详细步骤

    第一篇CSDN文章,解决了天嵌TQ210在ubuntu下挂载NFS文件系统(linux)的问题.特意总结下这篇文章,因为自己耗费了一天时间在这,虽然网上很多挂在NFS文件系统的资料,但是很少有针对TQ ...

  4. linux挂载nfs文件失败,挂载nfs文件系统时错误

    挂载nfs文件系统时错误 发布时间:2009-02-07 09:45:40来源:红联作者:travelchina2008 挂载nfs文件系统时错误: 1. 关闭防火墙,设置宿主机的IP为192.168 ...

  5. linux 查看目录挂载的ip,Linux挂载IPSAN和FCSAN操作,Linux挂载NFS文件系统

    iSCSI存储挂载 service open-iscsi status 查看iscsi服务状态 service open-iscsi start/stop/restart 启动/停止/重启iscsi服 ...

  6. linux内核挂载nfs,Linux 挂载NFS文件系统

    挂载文件系统 启动 NFS 客户端 挂载前,请确保系统中已经安装了nfs-utils或nfs-common,安装方法如下: CentOS: Ubuntu 或 Debian: 创建待挂载目标目录 使用下 ...

  7. JZ2440挂载nfs

    文章目录 前言 一.三者网络ping通 1 硬件连接 2 网络环境设置 2.1 PC有线网络 2.2 虚拟机网络设置 2.3 虚拟机与PC互ping 2.4 设置开发板的网络 2.5 开发板与虚拟机互 ...

  8. 挂载 nfs 文件系统

    环境 硬件:I.MX6U ALPHY V2.2 宿主机:Ubuntu 20.04 概述 我们的目的是在 kernel 启动后,将 nfs 文件系统挂载成板子的根文件系统.因此,bootloader.k ...

  9. 挂载nfs文件系统_综合架构-day38-NFS服务补充

    1.如何让nfs永久挂载-2种方法 开机自启动文件 1.vim /etc/rc.d/rc.local 需要修改执行权限chmod +x /etc/rc.d/rc/local mount -t nfs ...

最新文章

  1. 摊牌了,巴塞罗那自治大学3D视觉课件(免费获取)
  2. 修改Ubuntu的aptget源为阿里源的方法
  3. 【转】Windows7 下安装 JDK 7 时版本冲突问题解决
  4. 0、elasticsearch前言
  5. centos7安装golang
  6. 阿里最新php面试题及答案,面经网-阿里php面试题(四)
  7. yii2框架中整合PHPOffice的PhpSpreadsheet开源库
  8. 嵌入式论文3000字_普通期刊发表论文费用是多少
  9. 6步学会VS封装DLL
  10. Xshell6下载安装
  11. You're currently running Fcitx with GUI 错误解决 Fcitx
  12. 微生物测序分析LEfSe
  13. sizeof 32位和64位操作系统的区别
  14. 基于Android的天气预报系统的设计和实现
  15. 圆的css样式,圆形进度条css3样式
  16. 加密通信(三):CA证书
  17. delphic oracle下载,Chemical Oracle
  18. Samsung 展示6G 原型,测试速度达6.2Gbps,最终目标为1000Gbps
  19. access的否定形式_高中英语:否定形式表示肯定意义的句型总结
  20. 剑指offer 31. 栈的压入、弹出序列

热门文章

  1. MySQL中什么是读锁和写锁
  2. Flink Sink之Redis
  3. 笔记本外接显示器后网速变慢解决办法
  4. 计算机网络基础之数据传输方式(一)
  5. 动手学数据分析(一)- 数据加载及探索性数据分析
  6. 机器学习与深度学习的关系
  7. 天天酷跑神兽年年怎么搭配比较好 怎么得高分
  8. 困于饥寒交迫的烧钱网站
  9. (十)Shapefile文件创建——创建Shapefile和dBASE
  10. CSDN技能树功能分析