前言:

最近在学习正点原子嵌入式Linux开发板uboot的移植实验,移植完之后想测试网络部分的驱动能否工作正常。最后经过测试发现tftp可以正常下载,nfs却一直报错无法下载文件,最后也是折磨了两天才解决了问题,特写下此博客进行记录、总结。

项目场景:

我的轻薄本没有网口,事先买了一个刷过固件可以连校园网的路由器。准备好路由器之后,校园网通过一根网线接路由器的wan口,剩余两个lan口,一个接到正点原子alpha开发板的ENET2、笔记本电脑连路由器的WiFi、ubuntu改为桥接静态ip,使得三者在同一网段内(windows、ubuntu、uboot(不是linux内核))

ubuntu 192.168.10.218
uboot 192.168.10.220
windows 192.168.10.46

具体实物图:

然后测试了一下测试三者是否能互相ping通(只有windows和ubuntu无法ping通uboot,其余四种情况都可以正常ping通),ubuntu和windows无法ping通uboot好像是uboot没有解析ping命令,但是这个不影响后面的实验。下面是三者互相ping的截图

uboot ping ubuntu和windows

ubuntu ping windows

windows ping ubuntu

根据教程,一开始想使用nfs服务但行不通,但使用tftp服务可以正常下载、nfs没调通这个问题就没有过多理会。直到学习根文件系统测试时,根文件系统都是通过nfs进行挂载,我一开始还是想取巧避开nfs用tftp进行挂载,但是我看了看linux内核文件好像只支持nfs、没有看到tftp的字眼,而且后面的教程都是用nfs,所以就躲不掉了,只能先调通nfs才能继续往下走。

nfs服务下载失败

nfs cannot mount错误

tftp服务可以正常下载

解决方案:

因为我能通过tftp服务进行下载,说明我的网络拓扑应该是没有什么问题的,问题应该就在nfs服务这部分。这期间我看了正点原子常见错误的总结、还有一些大佬们的博客、咨询某宝技术客服最后才得以解决,大家可以按顺序针对下面的情况进行设置和排查。

1、关闭杀毒软件(火绒等)、关闭windows的防火墙、ubuntu的也关闭。(嫌麻烦ubuntu的我就直接卸载了)

2、uboot使用的nfs版本是version2,而ubuntu16以上默认是version3或者version4,通过sudo cat /proc/fs/nfsd/versions可以查看当前ubuntu支持的nfs版本。我用的ubuntu版本是20.04,为了兼容要修改 /etc/default/nfs-kernel-server配置文件,通过sudo vim /etc/default/nfs-kernel-server进入文件进行修改。

nfs 不支持version2

修改之后重启nfs服务(sudo service nfs-kernel-server restart)看是否能成功下载,如果还是不行继续往下看。

3、出现cannot mount或者编译一段时间后出现TTT错误,可以查看一下/etc/hosts、/etc/exports这两个配置文件

sudo vim /etc/exports                sudo vim /etc/hosts

/etc/hosts 要添加的内容

/etc/exports添加的内容分为三部分

1:nfs服务共享目录绝对路径

2:*代表所有的ip都可访问

       如果只限定一个ip只需将*改为192.168.10.220(要和ubuntu在同一网段)

       如果要使用同一网段只需将*改为192.168.10.*

3:(rw,sync,no_root_squash)为nfs服务的一些命令参数

修改完exports后记得重新声明一下 sudo exportfs  -ar、重启一下nfs服务。

我看完很多人的博客到这步基本上都弄好了,nfs可以成功下载文件了,但是我的还是不行。

4:设置完上述内容后打印nfs的version还是出现-2,我用netstat看一下nfs对应端口,发现没有udp只有tcp

netstat -a | grep "nfs"

设置一下这个文件/etc/nfs.conf

sudo vim /etc/nfs.conf

注意重新启动nfs服务 sudo service nfs-kernel-server restart 重新执行netstat,出现了udp

sudo cat /proc/fs/nfsd/versions可以发现出现了+2,即支持nfs服务的version2,接下来要做的就是验证一下

在uboot中执行命令nfs 80800000 192.168.10.218:/home/lpme/linux/nfs/zImage发现可以成功下载

其中一些T可能是网络问题,我们看一下dram里面的内容和zImage(用winhex打开)里的内容是否相同

md.b 80800000 2000

进行比较两者是相同的,即nfs服务可以正常使用了。

总结:

非常感谢你能看到这里,希望这篇文章能帮你解决问题。

嵌入式Linux开发——解决uboot无法使用nfs服务从ubuntu中下载文件(TTT、cannot mount等错误)相关推荐

  1. 嵌入式linux开发,telnet,telnetd服务移植

    简介 Telnet是传输控制协议/因特网协议(TCP/IP)网络(例如Internet)的登录和仿真程序.它最初是由ARPANET开发的,但是现在它主要用于Internet会话.它的基本功能是,允许用 ...

  2. linux用户环境下进入uboot,嵌入式linux开发uboot移植(一)——uboot项目简介

    嵌入式linux开发uboot移植(一)--uboot项目简介 一.uboot简介 U-Boot,全称 Universal Boot Loader,是遵循GPL条款的从FADSROM.8xxROM.P ...

  3. 嵌入式linux开发环境搭建(VMware16.0.0+Ubuntu16.04.3_X64)

    目录 一.安装VMware 1.VMware介绍 2.安装VMware16.0.0 二.安装ubuntu16.04.3 LTS 1.Ubuntu介绍 2.下载安装包iso 3.安装 四.新安装Ubun ...

  4. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(一) 嵌入式Linux开发基本概念以及开发流程介绍

    文章目录 1.linux开发初了解 1.1 嵌入式Linux开发的基本概念 1.1.1关于Git的背景介绍 1.1.2关于repo的背景介绍 1.1 3 一些关于此背景知识的介绍 1.1.4关于Lin ...

  5. rk3288实践:嵌入式Linux开发环境搭建

    目录 一.硬件连接: 二.tftp服务器安装 简介: 目的: 安装: 使用: 三.NFS服务安装 安装: 目的: 使用方法: 四.启动时出现问题: 一.硬件连接: 三个设备ip都设置在一个网段192. ...

  6. linux 嵌入式 交叉 环境搭建 实验原理,实验三 嵌入式Linux开发环境的搭建

    南京邮电大学通达学院 实 验 报 告 实验 实验三题目 嵌入式Linux开发环境的搭建 课程名称 嵌入式驱动开发实验 学院 专业 班 实验者学号同做者学号 08002210 姓名 毛骏超 同做者学号 ...

  7. 第六、七章 嵌入式Linux开发

    第六.七章 嵌入式Linux开发 BIOS读取硬盘最前面512字节(MBR),MBR中只能存储一个OS的引导记录,如多系统则会出现问题 MBR包含部分或全部Bootloader及分区表 Bootloa ...

  8. 北京迅为i.mx6ull终结者开发板使用手册+嵌入式Linux开发指南+裸机手册下载地址

    i.MX6ULL终结者三大手册,加速学习和开发速度,一秒化无形! <嵌入式Linux开发指南>+<开发板使用手册>+<裸机使用手册> 详细手册点击链接下载:http ...

  9. 嵌入式大牛详解:嵌入式linux开发流程总结

    很多的小伙伴都私信问了小编在嵌入式学习的过程中都能学到什么,这次小编就顺从大家的意思来一篇嵌入式linux开发的流程,嵌入式linux的学习是不可少的,可以说嵌入式linux是学习比较困难的,会遇到各 ...

最新文章

  1. Spring 体系常用项目一览
  2. 【MM配置】Pricing 采购定价过程总览
  3. bpython使用_使用Python实现一个简单的A/B测试
  4. 【Hibernate】Hibernate查询语言HQL详解
  5. 网络知识:分享几个路由器设置小技巧,欢迎收藏!
  6. zedboard--zynq使用自带外设IP让ARM PS访问FPGA(八) 转载
  7. python 脚本学习(二)
  8. 编写linux驱动程序步骤
  9. Java模板方法中规定传的参数,java – 如何在Kotlin中实现模板方法设计模式?
  10. Json学习总结(9)——放弃FastJson!Jackson的功能原来如此之牛
  11. 《精通Wireshark》—第1章1.5节抓取信息的方式
  12. BZOJ 1059: [ZJOI2007]矩阵游戏
  13. python中unicode编码表_python unicode 编码整理
  14. 人脸数据集汇总(附百度云盘链接)
  15. jQuery将json对象转为字符串,将json字符串转为对象
  16. 磁悬浮matlab,磁悬浮小球matlab
  17. 八皇后问题(回溯法amp;枚举法)
  18. AI绘图参数设置和一些注意点
  19. Unity实现幸运大转盘
  20. 虚幻引擎测试题(一)

热门文章

  1. uni-app移动端-H5-微信小程序在线预览pdf,图片,视频
  2. 毕设(五)ListView
  3. IP 库之手机基站数据篇~
  4. 【考研】数据结构考点——希尔排序
  5. 在线AI智能写春联工具
  6. linux中initrd的含义,浅谈linux启动的那些事(initrd.img)
  7. CGB2009-京淘项目DAY16
  8. Win7局域网内远程桌面连接
  9. Kali WPScan的使用(WordPress扫描工具)
  10. Blender基本使用(个人笔记)