在开发板上挂载NFS

2023-10-30

 网络文件系统(NFSNetwork File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录)进行操作。

    在嵌入式Linux 的开发过程中,开发者需要在Linux 服务器上进行所有的软件开发,交叉编译后,通用FTP 方式将可执行文件下载到嵌入式系统运行,但这种方式不但效率低下,且无法实现在线的调试。因此,可以通过建立NFS,把Linux 服务器上的特定分区共享到待调试的嵌入式目标系统上,就可以直接在嵌入式目标系统上操作Linux 服务器,同时可以在线对程序进行调试和修改,大大的方便了软件的开发。因此,NFS 的是嵌入式Linux 开发的一个重要的组成部分,本部分内容将详细说明如何配置嵌入式Linux NFS 开发环境。

嵌入式Linux NFS 开发环境的实现包括两个方面:一是Linux 服务器端的NFS 服务器支持;二是嵌入式目标系统的NFS 客户端的支持。因此,NFS 开发环境的建立需要配置linux 服务器端和嵌入式目标系统端。

 

第一步:连接主机和开发板

我选择了串口线和网线连接起了主机和开发板

连接好电源,串口线,网线,打开串口终端

 

第二步:配置minicom

# minicom -s

进入到minicom配置界面后选择 Serial port setup

然后按照下面的设置下就OK

A - Serial Device : :/dev/ttyS0

B - Lockfile Location : /var/lock

C - Callin Program :

D - Callout Program :

E - Bps/Par/Bits : 115200 8N1

F - Hardware Flow Control : No

G - Software Flow Control : No

选择这项是保存:Save setup as dfl

 

第三步:Linux 服务器端NFS 服务器的配置

在此之前主机上必须安装好NFS服务器

    root 身份登陆Linux 服务器,编辑/etc 目录下的共享目录配置文件exports,指定共享目录及权限等。

    执行如下命令编辑文件/etc/exports

   # vi /etc/exports

   在该文件里添加如下内容:

   /home/work *rw,sync,no_root_squash

   然后保存退出。

   添加的内容表示:允许ip 地址为任一IP的计算机以读写的权限来访问/home/work 目录。

   /home/work 也称为服务器输出共享目录。

   括号内的参数意义描述如下:

   rw:读/写权限,只读权限的参数为ro

   sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。

 

   no_root_squashNFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。

   接着执行如下命令,启动端口映射:

   # /etc/rc.d/init.d/portmap start

   最后执行如下命令启动NFS 服务,此时NFS 会激活守护进程,然后就开始监听 Client 端的请求:

   # /etc/rc.d/init.d/nfs start

   用户也可以重新启动Linux 务器,自动启动NFS 服务。

   NFS 服务器启动后,还需要检查Linux 服务器的防火墙等设置(一般需要关闭防火墙服务),确保没有屏蔽掉NFS 使用的端口和允许通信的主机,主要是检查Linux 服务器iptablesipchains 等选项的设置,以及/etc/hosts.deny/etc/hosts.allow 文件。

   我们首先在Linux 服务器上进行NFS 服务器的回环测试,验证共享目录是否能够被访问。在Linux 服务器上运行如下命令:

   # mount -t nfs 192.168.0.20(主机的IP):/home/work(主机共享的NFS路径) /mnt(开发板上的/mnt路径)

   # ls /mnt

注意,必须保证开发板的IP与主机的IP在同一网段,如果不在同一网段,使用ifconfig eth0 192.168.0.*来设置你的主机或者开发板的IP,将要执行的可执行文件放到/home/work目录下,然后在开发板的/mnt目录下执行

   命令将Linux 服务器的NFS 输出共享目录挂载到/mnt 目录下,因此,如果NFS 正常工作,应该能够在/mnt 目录看到/home/work 共享目录中的内容。

第四步:嵌入式目标系统NFS 客户端的配置

 

   Linux 服务器设置好后,还需要对客户端进行相关配置。在配置内核时选择Load an Alternate Configuration File输入配置文件的路径和文件名添加内核对NFS的支持:

   选中networking options-》IP:kernel level auloconfiguralion

   选中file systems-》network file systems-》下的root file system on nfs nfs file system support重新编译内核下载bootloaderkernel到开发板上

    在嵌入式目标系统的Linux Shell 下,执行如下命令来进行NFS 共享目录挂载:

    # mkdir /mnt/nfs //建立Linux 服务器输出共享目录的挂载点;

    # mount –t nfs 192.168.0.20:/home/work /mnt/nfs –o nolock

    # cd /mnt/nfs

 

    # ls

    此时,嵌入式目标系统端所显示的内容即为Linux 服务器的输出目录的内容,即Linux 服务器的输出目。

    /home/work 通过NFS 映射到了嵌入式目标系统的/mnt/nfs 目录。用户可以用增//修改文件的方式来验证实际效果。mount 命令中的192.168.0.20Linux 服务器的IP 地址,/home/work Linux 服务器端所配置的共享输出目录,/mnt/nfs 为嵌入式设备上的本地目录。

    在开发过程中,来回输入命令非常烦人,我写了两个简单的脚本来完成nfs的启动,挂载。

    host启动nfs

    snfs

    #!/bin/bash

    ifconfig eth0 192.168.0.20

    /etc/rc.d/init.d/portmap start

    /etc/rc.d/init.d/nfs start

    嵌入式目标机挂载nfs

    mnfs

 

    #!/bin/sh

    mount -t nfs 192.168.0.20:/home/work/nfs /mnt/nfs -o nolock

    echo “nfs ok


FROM: http://blog.163.com/solylee@126/blog/static/171823157201141732240641/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在开发板上挂载NFS 的相关文章

  • innerHtml用法

    innerHtml用法 span span
  • mktemp命令的用法

    一 概述 Linux使用 tmp目录来存放不需要永久保留的文件 mktemp命令专门用来创建临时文件 并且其创建的临时文件是唯一的 shell会根据mktemp命令创建临时文件 但不会使用默认的umask值 管理权限的 它会将文件的读写权限
  • gps模块协议NMEA-0183的解析----android4.2下的gps hal层

    这些天调试了一款GPS模组 对GPS的数据格式协议NMEA 0183有了一些了解 现把这些天的心得体会记录下来 GPS 模块硬件介绍 国内的一款GPS模组 使用uart接口与主控进行通信 这款GPS模组只需要供电 使能就能够工作 不需要下载
  • 树莓派3B+安装Debian系统,并配置ssh登录

    Table of Contents 1 需要准备的材料 2 下载镜像文件 3 清除SD卡并烧写系统 4 打开ssh登录权限 5 查看树莓派的IP地址 6 通过putty登录树莓派 1 需要准备的材料 SD卡 树莓派 读卡器 网线 2 下载镜
  • CRM巨头败走中国,Salesforce中国区或将解散?

    关注ITValue 看企业级最新鲜 最价值报道 作者丨海阳 出品丨ToB行业头条 ID wwwqifu Salesforce或将退出中国市场 海外软件在华遭遇 水土不服 ITValue 8月3日 相关传言称 美国最大客户关系管理SaaS供应
  • Centos开启SSH服务

    本篇文章为转载 原作者文章地址 Centos7开启SSH服务 KinwingHU 博客园 cnblogs com 在虚拟机 Vmware Workstation 下 安装了CentOS7 现在想通过SSH工具连接虚拟机中的CentOS7 1
  • vue实现聊天框自动滚动

    需求 1 聊天数据实时更新渲染到页面 2 页面高度随聊天数据增加而增加 3 竖向滚动 4 当用户输入聊天内容或者接口返回聊天内容渲染在页面后 自动滚动到底部 5 提供点击事件操控滚动条上下翻动 环境依赖 vue vue cli 5 0 8
  • Java VisualVM无法更新或安装插件解决办法

    Java VisualVM是JDK中的一个工具 可以实时查看Java程序内存变化的情况 今天在更新或安装时有时会出现建立连接时的问题 提示找不到系统文件 出现这种问题是因为地址出现了问题 整了半天 发现是原来的地址已经发生了改变 解决方法
  • html5实现有道翻译文字播报语音,H5实现文字语音播报

    前言 搜了一堆百度 搜狗 有道的 没有一个能用的 只能投机取巧了 实现 获取播放路径 html
  • Python实现文件编码转换GB2312、GBK、UTF-8

    Python实现文件编码转换GB2312 GBK UTF 8 1 查看文件编码格式 import chardet filename flash c with open filename rb as f data f read encodin
  • [BugKu Web]ez_serialize

    本writeup已经在bugku开放 根据题意 显然是一道JAVA反序列化的题 关于JAVA反序列化漏洞的成因 参见博客https zhuanlan zhihu com p 422314689 此处只说明解题思路 重复开启场景已经没金币了
  • flex布局,子元素设置flex: 1和nowrap,内容长度超出盒子

    解决方法 子元素设置宽度即可 flex 1 width 0 或者 flex 1 min width 0
  • Springboot 项目启动出现 Mysql Lock wait timeout exceeded; try restarting transaction 错误

    一 查询 你的当前数据是否有 Sleep 的事务 执行 sql 检查 在你的项目停止或关闭后检查 show full PROCESSLIST 如果有执行 kill 杀掉 kill id kill 3009 二 查询是否存在挂起的锁 sele

随机推荐

  • pc虚拟服务器,基于虚拟服务器的分布式PC共享平台设计及实现

    摘要 随着云计算等技术的不断发展 C S架构的计算能力在慢慢地向服务器端倾斜 公有云 私有云等产品的出现 代表着人们访问应用程序时不再依赖于传统PC而是借助瘦客户机等连接网络的设备 本文旨在构建基于虚拟服务器的分布式PC共享平台 将桌面虚拟
  • 毕业设计-基于生成对抗网络的图像风格迁移

    目录 前言 课题背景和意义 实现技术思路 一 相关工作 二 基于生成对抗网络的风格迁移模型 三 实验与结果分析 四 总结 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为
  • 计算机算法与程序设计 第一章 编程作业

    返回 所有测验 作业和考试都在2020年12月30日23点截止 请及时完成 编程作业题可以多次提交 取最高分作为本题成绩 依照学术诚信条款 我保证此作业是本人独立完成的 温馨提示 1 本次作业属于Online Judge题目 提交后由系统即
  • 解决Windows系统缺少comres.dll文件无法启动程序问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个comres
  • 类的静态成员变量初始化时间

    首先先搞明白 声明 定义 初始化 类的静态成员变量在类内声明 可以多次声明 类的静态成员必须在类外定义 定义就是给变量分配内存 初始化就是给一个变量赋初值 内置类型通常定义时默认初始化 类静态成员变量在main函数执行前完成初始化 有静态初
  • buck拓扑原理及仿真

    buck基本拓扑结构 开关管ON 电源向负载电阻提供电能 电感电流线性增大 变化率 变化量 开关管OFF 电感 电容中能量继续向负载电阻提供电能 电感电流线性减小 变化率 变化量 平衡状态时 由电感伏秒平衡得 推导得 理论电感电流在CCM
  • 快节奏多人在线游戏网络入门系列教程(2):客户端预测与服务器协调

    简介 在上一篇文章中 我们简单介绍了权威服务器的体系 客户端发送交互信息给服务器 服务器周期性的更新游戏状态 然后返回游戏状态给客户端 这个简单体系会导致用户发送命令时和屏幕渲染响应之间的延迟 产生延迟的原因是客户端发送命令给服务器 加上服
  • BIO/NIO/AIO

    IO模型 BIO BIO全称为 Blocking I O 是一种同步阻塞IO 最开始的网络通信就是BIO模型 服务端创建一个ServerSocket 客户端创建一个 Socket 去连接服务端 这样客户端与服务端便可以进行通信了 产生的问题
  • Mybatis中针对数据库日期JdbcType设置

    Mybatis中针对数据库日期JdbcType设置 在学习Mysql的时候 我们知道数据库类型有date datatime time类型 在用Mybatis进行插入数据的时候 我们实体一般都是直接指定java util Date类型 为了确
  • 机器学习中的相似性度量

    https www cnblogs com heaad archive 2011 03 08 1977733 html 1 欧氏距离 曼哈顿距离 切比雪夫距离 闵可夫斯基距离 标准化欧氏距离 马氏距离 夹角余弦 汉明距离 杰卡德距离 杰卡德
  • 菜鸟入门HTML

    标题HTML 一 1 单标签 一般单独完成某一功能的标签都为单标签 link 导入图片或css或其他资源 例 img src路径 插入一个图片到网页中 例 img src title 123 在这里插入图片描述 https img blog
  • 转:彻底搞定期货穿透式CTP API接入

    中信期货看穿式监管认证操作指南 CTP系统 https www citicsf com static download soft E4 B8 AD E4 BF A1 E6 9C 9F E8 B4 A7 E7 9C 8B E7 A9 BF E
  • NTSC和PAL制同步信号模拟输出

    NTSC和PAL制同步信号模拟输出 原由 由于我想输出一个NTSC制和PAL制的同步黑场 只需要输出同步信号 之后输出rgb信号给ADV 7123 后输出到显示屏 下面是我的心路历程和知识总结 一 了解NTSC和PAL PAL 电视标准 每
  • kinect2.0视角范围和距离远近

    本文章由cartzhang编写 转载请注明出处 所有权利保留 文章链接 http blog csdn net cartzhang article details 44588097 作者 cartzhang Kinect 摄像头范围介绍和玩家
  • 马踏棋盘求----全部解

    标题 运用栈和回溯法求马踏棋盘的全部解 回溯法的写法参考 数据结构 严蔚敏 的迷宫求解 感谢我的队友 汪汪汪 他与求一个解不同之处在于 当我们求到一个解之后 这个程序却会告诉计算机 啊 这不是我们想要的解 我们继续吧 于是 傻傻的计算机就信
  • D3D资源管理

    摘要 受管贴图 Managed textures 也就是我们通常所谓的 自动管理贴图 在DX6中首次被引入 经过一系列的改进和增强 在DX9中自动管理的资源类型增加到贴图 顶点缓冲 顶点索引缓冲 所有这些资源使用统一的公共接口 通过使用D3
  • 【图文分析】Java经典基础练习题(六):猴子吃桃子问题

    文章目录 一 具体题目 二 思路分析 逆向思维 三 代码 结果 代码 结果 四 彩蛋 一 具体题目 猴子第一天摘下若干个桃子 当即吃了一半 还不瘾 又多吃了一个 第二天 早上又将剩下的桃子吃掉一半 又多吃了一个 以后每天早上都吃了前一天剩下
  • Webpack4 配置 Externals

    Externals 配置项用来告诉 Webpack 要构建的代码中使用了哪些不用被打包的模块 也就是说这些模版是外部环境提供的 Webpack 在打包时可以忽略它们 1 有些 JavaScript 运行环境可能内置了一些全局变量或者模块 例
  • 新手小白学Java

    刚开始学习java的时候 可能是一头雾水 不知道从何学起 还有很多Java小白 在刚自学Java的时候玩命的学习 玩命的记住Java原理 天天早上五点起床背Java的一些英文词汇 然后遇见一些未知的困难 让自己打到癫狂状态 逐渐迷失自我放弃
  • 在开发板上挂载NFS

    网络文件系统 NFS Network File System 是一种将远程主机上的分区 目录 经网络挂载到本地系统的一种机制 通过对网络文件系统的支持 用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区 目录 进行操作 在嵌入式L