【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

配置

  1. 创建NFS目录: mkdir -p ~/nfs
  2. 配置NFS目录等:sudo vi /etc/exports
    添加:/home/xxxx/nfs *(rw,sync,no_root_squash)
    // 添加NFS的路径和属性(具体属性参考“附件91”)
  3. 重启NFS服务:sudo /etc/init.d/nfs-kernel-server restart
  4. 查看配置:
    4.1 路径: sudo exportfs
    4.2 版本:sudo cat /proc/fs/nfsd/versions

30. 使用

1. 从uboot中设置NFS启动文件系统

  1. 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的位置
  1. 配置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. 调试

  1. 服务端修改的相关信息会同步到开发板上,即共享文件

80. 问题

1. NFS版本不匹配问题

  1. 修改支持的版本:以支持v2为例
  2. sudo vi /etc/default/nfs-kernel-server
    修改如下参数:
RPCNFSDCOUNT="-V 2 8"
RPCMOUNTDOPTS="-V 2 --manage-gids"
RPCSVCGSSDOPTS="--nfs-version 2,3,4 --debug --syslog"
  1. 重启服务: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服务器也不检查其父目录的权限,这样可以提高效率

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

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

相关文章

【Rust】Rust学习 第十九章高级特征

现在我们已经学习了 Rust 编程语言中最常用的部分。在第二十章开始另一个新项目之前&#xff0c;让我们聊聊一些总有一天你会遇上的部分内容。你可以将本章作为不经意间遇到未知的内容时的参考。本章将要学习的功能在一些非常特定的场景下很有用处。虽然很少会碰到它们&#xf…

阿里云短信发送模板

1.读取yml的配置Data ConfigurationProperties(prefix "aliyun.sms") public class SmsProperties {private String signName;private String templateCode;private String accessKey;private String secret; } 2.封装方法并注入容器 Bean public class SmsTempla…

上海交大ACM班总教头团队重磅新作,带你动手学机器学习(文末赠书4本)

目录 0 写在前面1 什么是机器学习&#xff1f;2 ACM 班总教头&#xff1a;俞勇3 动手学习机器学习赠书活动 0 写在前面 机器学习强基计划聚焦深度和广度&#xff0c;加深对机器学习模型的理解与应用。“深”在详细推导算法模型背后的数学原理&#xff1b;“广”在分析多个机器…

一些自定义hooks

文章目录 1、点击框外隐藏弹窗hook 1、点击框外隐藏弹窗hook **描述&#xff1a;**有一个需要自己封装弹窗的组件&#xff0c;实现点击弹窗框外时隐藏弹窗 代码&#xff1a; import { useEffect } from “react”; // 点击框外hooks import { useEffect } from "react&q…

怎么制作sip网络寻呼话筒,sip任意呼叫主机,

怎么制作sip网络寻呼话筒&#xff0c;sip任意呼叫主机&#xff0c; 所需材料一&#xff1a;SV-2103VP sip网络音频模块 功能如下&#xff1a; SV-2101VP/ SV-2103VP使用了AT32F437VGT7处理器构架加专业的双向音频Codec编解码器&#xff0c; 处理器负责数据的传输&#xff0c…

Chrome历史版本下载和Selenium驱动版本下载

Python自动化必备&#xff1a; Selenium驱动版本下载 http://chromedriver.storage.googleapis.com/index.html Chrome浏览器历史版本下载 https://www.slimjet.com/chrome/google-chrome-old-version.php

Springboot使用DataRest直接访问数据库

Spring-boot-data-rest 直接将数据库资源映射成为Rest资源 说明 Spring Data REST是基于Spring Data的repository之上&#xff0c;可以把 repository 自动输出为REST资源&#xff0c;目前支持Spring Data JPA、Spring Data MongoDB、Spring Data Neo4j、Spring Data GemFire…

chapter 3 Free electrons in solid - 3.2 量子自由电子理论对一些现象的解释

3.2 自由电子气的热容 Heat capacity of free electron gas 3.2.1 计算自由电子的热容 Calculation of Heat Capacity of free Electrons T>0K, total energy of free electrons: E ∫ E d N 3 5 N e E F 0 [ 1 5 12 π 2 ( k B T E F 0 ) 2 ] E \int EdN \frac{3}{5}…

最新APP下载官网源码带app预览,

适合做软件&#xff0c;游戏&#xff0c;产品&#xff0c;企业工作室官网&#xff0c;有能力的可自行二开。 源码&#xff1a;星域社区官网源码.zip - 蓝奏云

ARL资产侦察灯塔 指纹增强

项目&#xff1a;https://github.com/loecho-sec/ARL-Finger-ADD 下载项目后运行 python3 ARl-Finger-ADD.py https://你的vpsIP:5003/ admin password该项目中的finger.json可以自己找到其他的指纹完善&#xff0c;然后运行脚本添加指纹。

mysql 正则表达式,每三个img标签图片后面添加<hr>

你可以使用MySQL的REGEXP_REPLACE函数来实现这个需求。下面是一个示例的正则表达式和SQL语句&#xff1a; sql UPDATE your_table SET your_column REGEXP_REPLACE(your_column, (<img[^>]*>){3}, $0<hr>) WHERE your_column REGEXP (<img[^>]*>){3}…

VM——获取图像中的圆环区域

、需求&#xff1a;下图是圆柱形铝罐&#xff0c;需要获取图像中的罐沿区域。 2、方法如下&#xff1a; (1)通过找外圆&#xff0c;提取圆形区域 &#xff08;2&#xff09;利用“拷贝填充”模块&#xff0c;绘制外圆ROI&#xff0c;选择“输出掩膜” &#xff08;3&#xff09…

4.前端常用时间工具函数封装

1 判断闰年函数 闰年需要满足以下两个条件&#xff0c;1、能被4整除&#xff0c;但不能被100整除&#xff1b;2、能被400整除 /*** 判断润年* param {string} year 年份* return {Boolean}*/ const isLeap function(year) {if ((year % 4 0 && year % 100 ! 0) || …

【leetcode 力扣刷题】双指针//哈希表 解决链表有环等问题

双指针//哈希表 解决链表有环等问题 19. 删除链表的倒数第N个结点遍历两次&#xff0c;先求得链表长度&#xff0c;再删除双指针&#xff0c;只遍历一次 141. 环形链表 【判断链表是否有环】哈希表快慢双指针 142. 环形链表Ⅱ 【找环的入口】哈希表双指针求环中有多少个结点 面…

【jvm】类的主动使用和被动使用

目录 一、主动使用二、被动使用 一、主动使用 1.创建类的实例 2.访问某个类或接口的静态变量&#xff0c;或者对该静态变量赋值 3.调用类的静态方法 4.反射&#xff08;例如Class.forName(“com.learning.Test”)&#xff09; 5.初始化一个类的子类 6.java虚拟机启动时被标明为…

【广州华锐视点】AR配电所巡检系统:可视化巡检利器

随着科技的发展&#xff0c;人工智能、大数据等技术逐渐应用于各个领域&#xff0c;为人们的生活带来便利。在电力行业&#xff0c;AR(增强现实)技术的应用也日益广泛。AR配电所巡检系统作为一种新型的巡检方式&#xff0c;可以实现多种功能&#xff0c;提高巡检效率&#xff0…

3种JavaScript 对象转数组的方法

方式一&#xff1a;Object.values Object.values()方法返回一个给定对象自身的所有可枚举属性值的数组&#xff0c;值的顺序与使用for...in循环的顺序相同 ( 区别在于 for-in 循环枚举原型链中的属性 )。 let arr Object.values(obj); //对象转化为数组 ps&#xff1a;如果…

webrtc学习(六)重要信令级时序图

一.四个重要信令 1.用户登录信令 SignIn 2..用户登出信令 SignOut 3..用户等待信令 wait信令是指从服务器的消息队列中获取暂存的中转消息&#xff0c;比如说sdp消息&#xff0c;对于信令服务器来说&#xff0c;他没有办法给用户推送消息&#xff0c;只能是用户推送消息给…

Halcon错误 #2021: System clock has been set back.

修复"Halcon#2021 System clock has been set back."一键即可解决。

JVM——类加载与字节码技术—字节码指令

2.字节码指令 2.1 入门 jvm的解释器可以识别平台无关的字节码指令&#xff0c;解释为机器码执行。 2a b7 00 01 b1 this . init&#xff08;&#xff09; return 准备了System.out对象&#xff0c;准备了参数“hello world”,准备了对象的方法println(String)V&#xff…