【linux】NFS调试总结
文章目录
- 00. ENV
- 10. 简述
- 20. 下载、安装、配置
- 30. 使用
- 1. 从uboot中设置NFS启动文件系统
- 2. 调试
- 80. 问题
- 1. NFS版本不匹配问题
- 90. 附件
- 91. 服务端NFS配置项简述
00. ENV
ubuntn1804
10. 简述
百度百科:https://baike.baidu.com/item/%E7%BD%91%E7%BB%9C%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F?fromModule=lemma_search-box
通过NFS把文件系统等直接传到开发板、与服务端共享文件,提高开发效率。
20. 下载、安装、配置
安装NFS服务端、端口映射工具等
sudo apt install nfs-kernel-server rpcbind
配置:
- 创建NFS目录:
mkdir -p ~/nfs- 配置NFS目录等:
sudo vi /etc/exports
添加:/home/xxxx/nfs *(rw,sync,no_root_squash)
// 添加NFS的路径和属性(具体属性参考“附件91”)- 重启NFS服务:
sudo /etc/init.d/nfs-kernel-server restart- 查看配置:
4.1 路径: sudo exportfs
4.2 版本:sudo cat /proc/fs/nfsd/versions
30. 使用
1. 从uboot中设置NFS启动文件系统
- uboot中相关命令、参数简述:bootcmd,bootargs,nfs
1.1 bootcmd::uboot启动后自动执行该命令
1.2 bootargs:uboot启动时传递给内核的参数
1.2 nfs:该命令可以通过nfs服务将文件传到开发板内存中,后续可直接从内存中加载系统等。
nfs 命令格式:nfs [本地内存地址][[NFS服务器地址:]文件名]
命令参考: nfs 0x81000000 192.168.10.10:/home/xxx/nfs/zImage // 将服务器端.10.10的/home/xxx/nfs/zImage文件传输到开发板的0x81000000的位置
- 配置uboot默认从nfs加载系统
2.1 修改默认启动参数bootargs:
(假设服务器端存在
根文件系统:/home/xxx/nfs/rootfs
IP:192.168.10.10
开发板IP:192.168.10.200)
=> setenv bootargs '\
> root=/dev/nfs rw \
> nfsroot=169.168.10.10:/home/xxxx/nfs/rootfs,v2,tcp \
> ip=169.168.10.200:169.168.10.10:169.168.10.10:255.255.255.0::eth0:off \
> console=ttyS0,115200'/* 格式参考如下:* root=/dev/nfs rw* nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>] * 服务端rootfs文件夹,参数* ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>:<dns0-ip>:<dns1-ip>* 指定开发板IP,服务区IP,网关,掩码,xx,网口,状态,xx*/
2. 调试
- 服务端修改的相关信息会同步到开发板上,即共享文件
80. 问题
1. NFS版本不匹配问题
- 修改支持的版本:以支持v2为例
sudo vi /etc/default/nfs-kernel-server
修改如下参数:
RPCNFSDCOUNT="-V 2 8"
RPCMOUNTDOPTS="-V 2 --manage-gids"
RPCSVCGSSDOPTS="--nfs-version 2,3,4 --debug --syslog"
- 重启服务:
sudo /etc/init.d/nfs-kernel-server restart
90. 附件
91. 服务端NFS配置项简述
| 选项 | 功能 |
|---|---|
| ro | 共享目录只读 |
| rw | 共享目录可读可写 |
| sync | 将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性 |
| no_root_squash | 来访的root用户保持root帐号权限 |
| all_squash | 所有访问用户都映射为匿名用户或用户组 |
| no_all_squash(默认) | 访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组 |
| root_squash(默认) | 将来访的root用户映射为匿名用户或用户组 |
| anonuid= | 指定匿名访问用户的本地用户UID,默认为nfsnobody(65534) |
| anongid= | 指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534) |
| secure(默认) | 限制客户端只能从小于1024的tcp/ip端口连接服务器 |
| insecure | 允许客户端从大于1024的tcp/ip端口连接服务器 |
| async | 将数据先保存在内存缓冲区中,必要时才写入磁盘 |
| wdelay(默认) | 检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率 |
| no_wdelay | 若有写操作则立即执行,应与sync配合使用 |
| subtree_check(默认) | 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限 |
| no_subtree_check | 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率 |
相关文章:
【linux】NFS调试总结
文章目录 00. ENV10. 简述20. 下载、安装、配置30. 使用1. 从uboot中设置NFS启动文件系统2. 调试 80. 问题1. NFS版本不匹配问题 90. 附件91. 服务端NFS配置项简述 00. ENV ubuntn1804 10. 简述 百度百科:https://baike.baidu.com/item/%E7%BD%91%E7%BB%9C%E6%96%87…...
wireshark进行网络监听
一、实验目的: 1)掌握使用CCProxy配置代理服务器; 2)掌握使用wireshark抓取数据包; 3)能够对数据包进行简单的分析。 二、预备知识: 包括监听模式、代理服务器、中间人攻击等知识点…...
时间复杂度
一、时间复杂度 时间复杂度是计算机科学中用来衡量算法运行时间随输入规模增加而增长的速度。简单来说,它是一个衡量算法执行效率的指标,表示算法运行所需时间与输入数据量之间的关系。 时间复杂度通常用大O符号(O)来表示&#…...
Unity实现广告滚动播放、循环播放、鼠标切换的效果
效果: 场景结构: 特殊物体:panel下面用排列组件horizent layout group放置多个需要显示的面板,用mask遮罩好。 using System.Collections; using System.Collections.Generic; using DG.Tweening; using UnityEngine; using Unity…...
LangChain + Streamlit + Llama:将对话式AI引入本地机器
推荐:使用 NSDT场景编辑器 助你快速搭建可二次编辑的3D应用场景 什么是LLMS? 大型语言模型 (LLM) 是指能够生成与人类语言非常相似的文本并以自然方式理解提示的机器学习模型。这些模型使用包括书籍、文章、网站和其他来源在内的…...
Python 读写 Excel 文件库推荐和使用教程
文章目录 前言Python 读写 Excel 库简介openpyxl 处理 Excel 文件教程pandas 处理 Excel 文件教程总结 前言 Python 读写 Excel 文件的库总体看还是很多的, 各有其优缺点, 以下用一图总结各库的优缺点, 同时对整体友好的库重点介绍其使用教程…...
“深入解析JVM:理解Java虚拟机的工作原理和优化技巧“
标题:深入解析JVM:理解Java虚拟机的工作原理和优化技巧 摘要:本文将深入探讨Java虚拟机(JVM)的工作原理和优化技巧。我们将从JVM的基本结构开始,逐步介绍其工作原理,并提供一些实际示例代码&am…...
解决SEGGER Embedded Studio无法显示Nordic MCU外设寄存器问题
如果使用SES调试NRF52840的时候发现,官方例程只能显示CPU寄存器,但是无法显示外设寄存器时,解决办法如下: 1.在解决方案右键→Options→Debug→Debugger,然后Target Device选择正确的型号。 2.Register Definition Fil…...
Oracle-day1:scott用户、查询、取整、截取、模糊查询、别名——23/8/23
整理一下第一天软件测试培训的知识点 1、scott用户 -- 以system管理员登录锁定scott用户 alter user scott account lock;-- 以system管理员登录解锁scott用户 alter user scott account unlock;-- 以system管理员用户设置scott用户密码 alter user scott identfied by tiger…...
stm32之3.key开关
假设key电阻为40kΩ,则key0 的电压3.3v*4/52.64v 2.key开关代码 ② GPIO_OType_PP//推挽输出 GPIO_OType_PP//开漏输出 推挽输出是指输出端口可以同时提供高电平和低电平输出,而开漏输出则是指输出端口只能提供低电平输出,高电平时需要借…...
GPT带我学-设计模式-代理模式
什么是代理模式 代理模式(Proxy Pattern)是设计模式中的一种结构型模式,它为其他对象提供一种代理以控制对这个对象的访问。 代理模式有三个主要角色:抽象主题(Subject)、真实主题(Real Subje…...
VMware Workstation Pro 无法使用开机状态下拍的快照来克隆虚拟机,怎么解决?
环境: VMware Workstation Pro16.0 Win10 专业版 问题描述: VMware Workstation Pro有台虚拟机在开机状态下拍了个6.7快照这个win10初始版,现在想在这个快照下直接克隆,无法使用开机状态下拍的快照创建克隆 解决方案: 1.关闭当前虚拟机 2.到虚拟机文件夹复制一份Wind…...
【JAVA】XML及其解析技术、XML检索技术、设计模式
XML XML(Extensible Markup Language)是可扩展标记语言的缩写,它是一种数据表示格式,可以描述复杂的数据结构,常用于传输和存储数据 作用: 用于进行存储数据和传输数据作为软件的配置文件 第一行是文档声明 <?xml version&q…...
Ansible 自动化安装软件
例子如下: 创建一个名为/ansible/package.yml 的 playbook : 将 php 和 mariadb 软件包安装到 dev、test 和 prod 主机组中的主机上 将 RPM Development Tools 软件包组安装到 dev 主机组中的主机上 将 dev 主机组中主机上的所有软件包更新为最新版本 --- - name:…...
简单介绍 React Native 整合 Formik 实现表单校验
Formik 是 React 和 React Native 开源表单库,Formik 负责处理重复且烦人的事情——跟踪值/错误/访问的字段、编排验证和处理提交——所以您不必这样做。而简化字段校验的话我们可以使用yup工具来实现。 首先安装Formik 和 Yup npm i formik npm i yupFormik 与 R…...
蓝帽杯半决赛2022
手机取证_1 iPhone手机的iBoot固件版本号:(答案参考格式:iBoot-1.1.1) 直接通过盘古石取证 打开 取证大师和火眼不知道为什么都无法提取这个 手机取证_2 该手机制作完备份UTC8的时间(非提取时间):(答案…...
电路学习+硬件每日学习十个知识点(40)23.8.20 (希腊字母读音,阶跃信号和冲激信号的关系式,信号的波形变换,信号的基本运算,卷积积分,卷积和)
文章目录 1.信号具有时间特性和频率特性。2.模拟转数字,抽样、量化、编码3.阶跃信号和冲激信号4.信号的波形变换(时移、折叠、尺度变换)5.信号的基本运算(加减、相乘、微分与积分、差分与累加)5.1 相加减5.2 相乘5.3 微…...
Python——列表(list)推导式
本文基于python3。 目录 1、Python推导式2、列表(list)推导式2.1、定义2.2、实际操作2.2.1、一个表达式,后面为一个 for 子句2.2.2、一个表达式,后面为一个 for 子句,然后,跟着if 子句。2.2.3、一个表达式,后面为一个…...
代码随想录算法训练营day43 | LeetCode 1049. 最后一块石头的重量 II 494. 目标和 474. 一和零
1049. 最后一块石头的重量 II(题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台) 思路:把全部石头重量加起来,然后除以二,就等于背包的最大容量。然后就可以按照背包问题…...
Linux安装jdk、mysql、并部署Springboot项目
😜作 者:是江迪呀✒️本文关键词:Linux、环境安装、JDK安装、MySQL、MySQL安装☀️每日 一言:知行合一! 文章目录 一、前言二、安装步骤2.1 安装JDK(1)创建文件夹(便于后…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...
