Linux驱动学习:从Linux主机nfs共享文件到uboot

第一步:在Linux主机上开启NFS服务,使用如下命令安装NFS服务:

sudo apt-get install nfs-kernel-server rpcbind

第二步:创建一个文件夹用于共享,直接以nfs命名就行:

第三步:打开nfs服务配置文件/etc/exports,并加入如下图所示内容,注意替换为自己的共享文件夹的绝对路径

        打开配置文件:

sudo vi /etc/exports

        添加配置内容:

共享文件夹的绝对路径 *(rw,sync,no_root_squash)

第三步:重启nfs服务:

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

        在这里有个点需要注意以下,Linux主机的网络配置需要改成桥接模式,NAT模式下使用uboot来ping主机死活也ping不同,不知道啥原因,有知道的大佬可以私信俺。开发板和主机通信需要处于同一网段下,接下来手动配置一下主机的ip地址,使其永久保持:

第五步:打开Ubuntu的网络配置选新建:

第六步:选ipv4并且手动配置,注意uboot和主机要在同一个网段内:

主机配置完成接下来配置开发板的uboot:

第七步:设置uboot的网络和环境变量:

setenv ipaddr 192.168.106.50
setenv ethaddr b8:ae:1d:01:00:00
setenv gatewayip 192.168.106.1
setenv netmask 255.255.255.0
setenv serverip 192.168.106.137
saveenv

        其中ipaddr为开发板的IP地址,一定要和主机保持一致,serverip为主机IP,设置完成之后,使用开发板ping主机可以看到下图结果就是成功:

第八步:使用nfs命令从主机共享文件夹读取文件:

nfs [loadAddress] [[hostIPaddr:]bootfilename]

loadAddress    从主机读取的文件存放在开发板的地址
hostIPaddr     主机IP地址
bootfilename   文件在主机的绝对路径,确保谣读取的文件在共享文件夹里

        出现下图所示即为读取成功:

        最后分享一下自己踩的一个坑,我看着网上的教程高高兴兴的配置完了主机和开发板,激动的开始玩耍nfs命令,结果nfs一直报下面的错误,人都给搞懵了,在这里说一下解决的方法,说不定能帮到兄弟:

        最后在网上查了资料发现这个错误是因为主机的nfs和开发板的nfs的版本不一致,解决方法就是修改主机的/etc/default/nfs-kernel-server文件:

sudo vim /etc/default/nfs-kernel-server

修改完成之后重启nfs服务即可完美解决此问题,让兄弟们少走点弯路。

sudo service nfs-kernel-server restart

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot实现校园周边美食探索及分享平台系统项目【项目源码+论文说明】

基于springboot实现园周边美食探索及分享平台系统演示 摘要 美食一直是与人们日常生活息息相关的产业。传统的电话订餐或者到店消费已经不能适应市场发展的需求。随着网络的迅速崛起,互联网日益成为提供信息的最佳俱渠道和逐步走向传统的流通领域,传统的…

找单链表倒数第K个节点

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 但行前路,不负韶华&#…

MTU/TCPMSS/VLAN/ACCESS/TRUNK/HYBRID

MTU RFC标准定义以太网的默认MTU值为1500 最小64字节是为了保证最极端的冲突能被检测到,64字节是能被检测到的最小值;最大不超过1518字节是为了防止过长的帧传输时间过长而占用共享链路太长时间导致其他业务阻塞。所以规定以太网帧大小为64~1518字节&am…

动态代理 过渡 AOP

提问:你可以按照网上教程写一个动态代理的案例;也可以写一个AOP的案例。也常听到AOP的底层就是动态代理,是否能解释的清楚它两之间的关系呢? 目录 一 无代理二、静态代理改造三 动态代理改造四 spring AOP的实现总结 一 无代理 p…

redis之主从复制、哨兵模式

一 redis群集有三种模式 主从复制: 主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。 主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。 缺陷: 故障恢复无法自动化&…

Python搭建编程环境—安装Python3解释器

✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1🏆 📃个人主页:hacker707的csdn博客 🔥系列专栏:零基础学Python 💬个人格言:不断的翻越一…

数据结构(二)----线性表(顺序表,链表)

目录 1.线性表的概念 2.线性表的基本操作 3.存储线性表的方式 (1)顺序表 •顺序表的概念 •顺序表的实现 静态分配: 动态分配: 顺序表的插入: 顺序表的删除: 顺序表的按位查找: 顺序…

搭建跨境电商电商独立站如何接入1688平台API接口|通过1688API接口采集商品通过链接搜索商品下单

接口设计|接口接入 对于mall项目中商品模块的接口设计,大家可以参考项目的Swagger接口文档,以Pms开头的接口就是商品模块对应的接口。 参数说明 通用参数说明 参数不要乱传,否则不管成功失败都会扣费url说明……d.cn/平台/API类型/ 平台&…

LLM大模型可视化-以nano-gpt为例

内容整理自:LLM 可视化 --- LLM Visualization (bbycroft.net)https://bbycroft.net/llm Introduction 介绍 Welcome to the walkthrough of the GPT large language model! Here well explore the model nano-gpt, with a mere 85,000 parameters. 欢迎来到 GPT 大…

AI复活:商业新风口还是情感禁区?

随着人工智能技术的飞速发展,AI已经渗透到我们生活的方方面面,其中,“AI复活”服务作为新兴的技术应用,正逐渐走进大众视野。然而,这一技术带来的不仅是商业机会,更伴随着伦理和情感的争议。 “AI复活”服务…

HDLbits 刷题 --Conditional

学习: Verilog has a ternary conditional operator ( ? : ) much like C: (condition ? if_true : if_false) This can be used to choose one of two values based on condition (a mux!) on one line, without using an if-then inside a combinational always block. …

什么是智慧驿站?智慧驿站主要应用有哪些?新型智慧公厕解说

智慧驿站是一种融合了创意设计和多项功能的新型智慧公厕,它在信息化公共厕所的基础上,以创意的外观设计、全金属结构用材、快速制作整体运输、快速部署落地使用等价值特点,所打造了一个集购物、互动、休憩等多种功能于一体的城市基础设施。无…

redis 集群 (主从复制 哨兵模式 cluster)

目录 一 主从复制 (一)相关理论 1,主从复制定义 2,主从复制的作用 3,主从复制架构图 4 sync 同步过程 5,主从复制流程 (二) 实验模拟 1, 实验环境 2, 修…

Java | Leetcode Java题解之第5题最长回文子串

题目&#xff1a; 题解&#xff1a; class Solution {public String longestPalindrome(String s) {int start 0, end -1;StringBuffer t new StringBuffer("#");for (int i 0; i < s.length(); i) {t.append(s.charAt(i));t.append(#);}t.append(#);s t.to…

jsp实现增删改查——(三)用Echarts图表统计学生信息

学生信息CRUD——Echarts显示生活费 目录结构 创建一个js文件夹&#xff0c;将echarts.min.js放到里面。 功能实现 与之前我们写的jsp文件&#xff08;含有html代码、Java代码&#xff09;不同的是&#xff0c;实现Echarts对生活费的显示&#xff0c;需要调用echarts.min.js…

Java中线程详解

文章目录 相关概念多线程概念实现方式继承Thread类实现Runnable接口比较 常用方法线程安全产生的原因解决思想同步同步代码块同步方法Lock锁机制 死锁概念避免 状态线程间的通讯介绍方法 相关概念 并行&#xff1a;在同一时刻&#xff0c;有多个任务在多个CPU上同时执行并发&a…

为什么拼音命名在编程中不被推荐?

为什么拼音命名在编程中不被推荐? 在学习编程的过程中&#xff0c;命名变量、函数和类等是一个重要的环节。然而&#xff0c;专业的编程教材和经验都强烈建议不要使用拼音来命名&#xff0c;并且拼音命名常常被教育和经验严厉禁止。本文将探讨为何学编程时不推荐使用拼音命名&…

Spring注解@EventListener实现监听原理

文章目录 EventListener使用方式EventListener实现原理1.引入时机-获取bean定义2 实例化时机-new对象3 作用时机->将加了EventListener注解的方法识别出来&#xff0c;并封装为监听器&#xff0c;加载spring容器中 总结 EventListener使用方式 package com.cyl.listener;im…

嵌入式中常见的面试题分享

1.关键字static的作用是什么&#xff1f;为什么static变量只初始化一次&#xff1f; 1&#xff09;修饰局部变量&#xff1a;使得变量变成静态变量&#xff0c;存储在静态区&#xff0c;存储在静态区的数据周期和程序相同&#xff0c; 在main函数开始前初始化&#xff0c;在退…

权限提升技术:攻防实战与技巧

本次活动赠书1本&#xff0c;包邮到家。参与方式&#xff1a;点赞收藏文章即可。获奖者将以私信方式告知。 网络安全已经成为当今社会非常重要的话题&#xff0c;尤其是近几年来&#xff0c;我们目睹了越来越多的网络攻击事件&#xff0c;例如公民个人信息泄露&#xff0c;企业…