ARM_Linux的NFS网络文件系统的搭建

介绍:

NFS是network filesystem的简称,可以不同的主机通过网络访问远端的NFS服务器共享出来的文件,这样主机通过网络访问NFS服务器,我们就可以在开发板上通过网络访问主机的文件。

为什么要使用NFS网络文件呐?

1、传送速度快,学习过stm等单片机知道可以通过串口的方式进行下载,但是串口的传输速率有限(以9600波特率为例,1s传输9600bit也就是1200个字节),当工程文件非常大的时候,串口传输就显得十分吃力。但是网口的速度一般都为1000Mb/s,有较大的信息吞吐量,传输速率也快。

2、提高调试的效率,有些时候需要多次的调试开发板的文件系统内的文件内的某个应用程序,这就需要进行多次的编译拷贝等操作,当我们前期调试的时候,我们可以再VM虚拟机等服务器上的ubuntu的nfs目录下的文件系统进行远程调试,提高调试效率。

使用方式:

PC机端:

1、安装服务:

//如果虚拟机中没有该功能需要安装

sudo apt-get install nfs-kernel-server

2、在虚拟机/home/book目录下创建目录nfs_roots

mkdir /home/book/nfs_roots

3、创建共享目录,修改/etc/exports文件末尾

sudo vi /etc/exports

或者

sudo gedit /etc/exports

在文件末尾加入下面一行:

/home/book/nfs_roots  *(rw,sync,no_root_squash)

这样就可以将主机的/home/book/nfs_roots目录当成共享目录

4、启动NFS服务器,重启 nfs-kernel-server 服务:

sudo /etc/init.d/nfs-kernel-server restart

开发板挂在ubuntu的NFS目录

这里我使用的开发板是韦东山老师的iM6ULL_pro,配置起来比较方便因为卫东山老师都已经配置好了,只需要确保开发板可以ping通之后在开发板上执行下边的命令就可以挂载NFS:

mount -t nfs -o nolock,vers=3 IP地址:/home/book/nfs_rootfs /mnt

1、将ubuntu虚拟机的IP地址设置为静态地址: 192.168.1.76

2、确保通过网线将开发板与 PC 机连接好,并在 PC 机上开启了 NFS 服务

3、设置开发板的 IP 与 PC 机的 IP 在同一网段,如:

PC 机 IP :192.168.1.75

目标板 IP:192.168.1.203

Network Marsk: 255.255.255.0

Broadcast IP: 192.168.1.255

这里可以将开发板的IP也设置为静态的

修改配置文件设置IP,修改一次即可无需重复配置,

vi /etc/network/interfaces

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
        address 192.168.1.203
        netmask 255.255.255.0
        gateway 192.168.1.1

⚫ 按下键盘ESC,然后输入执行 :wq保存并退出,
⚫ 执行/etc/init.d/S40network restart 重启网络服务。

重启开发板后使用ifconfig查看IP端口的配置

4、测试网络

在开发板上 ping 主机,在超级终端运行如下命令:

ping 192.168.1.75

在主机上以同样的方式 ping 开发板,如果主机和开发板可以互相 ping 通,则说明网络连接正常

5、挂载主机 NFS 服务器(在开发板上操作)

mount -o nolock 192.168.1.76:/home/book/nfs_roots  /mnt/

cd /mnt/

挂载正确后,可以在开发板的/mnt 目录下看到虚拟机ubuntu的根目录

注意:本文只是大体介绍了NFS的概念和使用方式,针对于不同的开发板使用NFS的原理都是相同的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/638413.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初始RabbitMQ(入门篇)

消息队列(MQ) 本质上就是一个队列,一个先进先出的队列,队列中存放的内容是message(消息),是一种跨进程的通信机制,用于上下游传递消息, 为什么使用MQ: 削峰填谷: MQ可以很好的做一个缓冲机制,例如在一个系统中有A和B两个应用,A是接收用户的请求的,然后A调用B进行处理. 这时…

【2023】java使用WebClient实现chatGPT调用建立web socket连接

💻目录 一、介绍1、使用技术2、效果 二、代码1、前端代码2、后端代码2.1、maven依赖2.2、model2.2.1、请求接口的格式2.2.2、响应数据对象 2.3、工具类2.3.1、🔴使用WebClient调用chatgpt方法2.3.2、🟠 webSocket连接对话方法 2.4、Controlle…

使用 OpenLLM 构建和部署大模型应用

原文:使用 OpenLLM 构建和部署大模型应用 - 知乎 分享主题为:使用 OpenLLM 快速构建和部署大语言模型的应用。OpenLLM 是一个开源的大语言模型(LLM)开发框架。它支持多种开源的 LLM 模型,并且具有内建的两个关键的 LL…

自然语言处理研究的内容

一.基础技术 1.1 词法分析 词法分析(Lexical Analysis),也称为词法扫描或扫描器,是自然语言处理(NLP)中的基础步骤之一,用于将输入的文本分割成词法单元(Token)。词法单…

【更新中】Python 学习资料列表

由于学习 Python 的时候我手上并没有一本比较全面的书,所以一切都是从网上进行学习。正因如此,未来在想重新看看某些相关内容的时候就找不到或者记不得从哪看的了,所以这里记录下一些我觉得未来可能会重新查看的网页或网站。 由于我使用 Pyt…

找完数(找因子)

所谓完数就是该数恰好等于除自身外的因子之和。例如&#xff1a;6123&#xff0c;其中1、2、3为6的因子。本题要求编写程序&#xff0c;找出任意两正整数m和n之间的所有完数。 输入格式&#xff1a; 输入在一行中给出2个正整数m和n&#xff08;1<m≤n≤10000&#xff09;&…

vulnhub-dc2靶场

DC2 配置环境vmware17 nat网络配置 下载地址:DC and Five86 Series Challenges - DC-1 &#xff08;似乎从2024/1/18左右找不到这个资源了&#xff09; 攻击机kali与其在同一网段下 ip:192.168.52.130 信息收集 arp-scan -l #内网探测&#xff0c;扫描目标ip发现目标ip1…

clickhouse 单副本和双副本升级差别

云上单副本就够了&#xff0c;成本更低&#xff0c;而且基于云盘不会丢数据。 双副本的优势在于升级、重启等可滚动进行&#xff0c;考虑到这是少数场景&#xff0c;如果业务不是非常敏感&#xff0c;为了这个滚动付出多一倍成本不太值得。 clickhouse&#xff0c;单副本&…

【服务器】搭建一台属于自己的服务器

​🌈个人主页:Sarapines Programmer🔥 系列专栏:【服务器】搭建网站⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。 目录 1. 购买服务器和域名 1.1 购买服务器 1.1.1 阿里云服务器 1.1.2 香草云服务器 1.2 购买域名 2. 安装宝塔…

Blender——将模型及其所有纹理与材质导入unity

前期准备 参考视频&#xff1a;7分钟教会你如何将Blender的模型材质导入unity_哔哩哔哩_bilibili 实验模型官网下载地址&#xff1a;Hoi An Ancient House Model free VR / AR / low-poly 3D model CSDN下载链接&#xff1a; 【免费】Blender三维模型-古代房屋模型&#xff…

【Linux】第三十三站:日志

文章目录 一、实现一个简单的日志1.简介2.可变参数3.错误等级4.时间5.打印每一条参数6.与前面的一些代码搭配使用 二、完整代码 一、实现一个简单的日志 1.简介 我们运行代码的时候&#xff0c;我们希望有各种各样的运行时候的一些信息。这也就是日志 它一半有日志时间&…

【GitHub项目推荐--老照片变清晰】【转载】

先来看一个效果图&#xff0c;这个开源项目能把模糊爆浆的老照片 1 s 内变成清晰、高清的有色照片。 而以上这些效果&#xff0c;无需专业 PS 技能&#xff0c;只用一个网页端的 Demo、点点鼠标上传图片就能搞定。 这个修复神器&#xff0c;由腾讯 PCG ARC 实验室研发&#xf…

结构体大揭秘:代码中的时尚之选(上)

目录 结构结构的声明结构成员的类型结构体变量的定义和初始化结构体成员的访问结构体传参 结构 结构是一些值的集合&#xff0c;这些值被称为成员变量。之前说过数组是相同类型元素的集合。结构的每个成员可以是不同类型的变量&#xff0c;当然也可以是相同类型的。 我们在生活…

【系统调用IO】open、close、read、write、lseek

目录 3 系统调用IO3.1 文件描述符3.1.1 FILE结构体3.2.2 文件描述符 3.3 open、close、read、write、lseek3.3.1 文件权限3.3.2 open3.3.3 close3.3.4 read3.3.5 write3.3.6 lseek3.3.7 代码示例 文件io和标准io的区别 橙色 3 系统调用IO 3.1 文件描述符 3.1.1 FILE结构体 …

多线程编程1

一、线程的引入 上节&#xff0c;我们介绍了进程的概念&#xff0c;以及操作系统内核是如何管理进程的&#xff08;描述组织&#xff09;&#xff0c;PCB中的核心属性有哪些&#xff0c; 引入进程这个概念&#xff0c;最主要的目的&#xff0c;就是为了解决“并发编程”这样的…

JavaScript语法摘要

JavaScript语法摘要 JavaScript语法通过各种规则和组合&#xff0c;就能创建出丰富多彩的程序呢&#xff01;它包括了怎么声明和使用变量、如何定义和赋值&#xff0c;还有怎么用运算符和表达式等等。另外&#xff0c;我还发现了一些有趣的概念&#xff0c;比如关键字、注释、…

探索Flask中的RESTful API设计与实现

Restful API 基础介绍&#xff1a; ​ RESTful API&#xff08;Representational State Transfer&#xff09;是一种基于HTTP协议设计的应用程序编程接口&#xff08;API&#xff09;风格&#xff0c;用于在客户端和服务器之间进行通信。它提供了一组规范和约束&#xff0c;用…

Python学习从0到1 day7 Python判断语句

路远殊途&#xff0c;祝你得偿所愿 ——24.1.21 前言 进行逻辑判断&#xff0c;是生活中常见的行为&#xff0c;同样&#xff0c;在程序中&#xff0c;进行逻辑判断也是最为基础的功能 一、布尔类型和比较运算符 1.布尔类型 进行判断&#xff0c;有两个结果&#xff0c;True、…

C 练习实例37 - 排序

题目&#xff1a;对10个数进行排序。 从小到大排序题目分析&#xff1a; 1 6 3 4 8 9 0 2 5 7&#xff08;假设10个数据&#xff09; 第一个和第二个比&#xff0c;把大的那个数放在右边 第二个和第三个比&#xff0c;把大的那个数放在右边 以此类推...... 从而把最大的那…

springboot集成COS对象存储

1.申请腾讯云存储桶 新建密钥&#xff08;后面配置要用到&#xff09; 2.编写工具类 此处使用工具类进行基本属性配置&#xff0c;也可选择在yml中配置 package com.sfy.util;import com.qcloud.cos.COSClient; import com.qcloud.cos.ClientConfig; import com.qcloud.cos.a…