uboot阶段无法使用tftp(或者nfs)挂载内核及设备树

目录

出现问题

问题排查

发现问题

总结


出现问题

     今天在学习嵌入式linux的uboot系统移植时出现了一个问题,挂载内核无反应。先贴图

问题排查

     一开始我的反应是网络的问题,我就开始排查网络,测试uboot下开发板是否能ping虚拟机

     发现是没有问题的,接下来我就想去试试虚拟机是否也能ping通开发板,当然我已经是完成我的开发
板的网络配置。然后出现的情况是

     发现并不能ping通开发板。于是我开始纳闷是否是我的网口以及网络配置出错了。针对于此我进行了
以下几项排查工作:

1、开发板的网络环境搭建

     这里我使用的设备是台式机电脑,开发板,光猫一台,网线2条。(PS:这里我明白了带路由器功能的
光猫就相当于普通光猫接路由器)然后进入虚拟机中将网络连接设置为桥接模式。

2、设置主机、虚拟机、开发板IP都在同一网段

     经配置之后各IP分别是:主机:192.168.1.4,虚拟机:192.168.1.6,开发板:192.168.1.10     
     至此我已经配置完成网络情况,开始进行相互的ping测试,结果发现主机和虚拟机之间ping不通,经过
百度一查,才知道要关闭主机和linux虚拟机的防火墙。关于如何关闭两者防火墙参考链接
      https://blog.csdn.net/m0_54203133/article/details/112428037

     以上步骤我试了很多次还是没能解决。然后我继续寻找相关资料,直到看到正点原子的文档中的一段话

     看到这句话我恍然大悟,我一直苦苦纠结IP网络配置并不是造成错误的唯一原因,当开发板能够ping通
虚拟机和主机
的时候,就已经说明上述的两个步骤我已经配置正确了。那么既然网络配置没有问题,那就应
该是TFTP的问题吧,因为我们使用的网络传输是TFTP协议,我转而开始排查TFTP环境搭建

发现问题

     我跟着tftp环境搭建的步骤一步一步的重新配置,结果总算是发现问题所在

     在tftp-hpa配置文件中,不知道怎么我这里根目录下的home家目录多了一个o,这样就导致了在传输的
时候无法按照有效路径获取虚拟机上的文件。终于解决了这个问题。然后修改了之后马上进行试验,却又
出现了另一个问题。

     可以看到“TFTP error: 'Permission denied' (0)”这样的错误提示,提示没有权限,然后经过我查资料,
出现这个错误一般有两个原因:
     1、在 Ubuntu 中创建 tftpboot 目录的时候没有给予 tftboot 相应的权限。 
     2、tftpboot 目录中要下载的文件没有给予相应的权限。

     针对这两个原因,我们需要一个个的排查,都给上最高权限。使用命令" chmod 777 xxx ",其中“xxx”就
是要给予权限的文件或者文件夹。至此,问题终于得以解决,最终正确的结果如图

总结

     针对uboot阶段无法使用tftp(或者nfs)挂载内核和设备树的一般解决思路。
1、检查开发板网络环境的搭建是否正确,也就是关于主机,虚拟机,开发板,路由器或者交换机之间网线
连接是否正确,对应的IP配置是否正确,防火墙是否关闭,最终的检测方法就是使用ping测试,开发板能
够ping通ubuntu虚拟机和windows主机即可,这一步检查完成,不用管ubuntu是否能ping通uboot阶段的开
发板(这是我犯的错误)。

2、如果完成第1个仍没有解决,那就去检查tftp和nfs的环境配置是否正确,这里有一些配置文件需要进行
修改,需要仔细核对是否修改正确了,尤其是文件路径是否正确了,像我这次的问题就在于文件路径出错,
导致找不到文件,还没有有效的提醒,如果路径正确,目标文件不存在还会有提醒(此文件不存在)。

3、这是对第2步的补充,出现提示权限问题,则我们对相应的文件及文件夹进行开最高权限(本应该如此)。

4、对于前3步的结果我们也可以通过一种方法来验证。我们将开发板进入到linux系统中去,然后在开发板
文件系统中执行相关的命令(跟在普通linux环境中一样),使用tftp命令或者nfs命令,将虚拟机中自己新建
的一个测试文件传输到开发板中,查看是否能够传输成功,从而验证整个环境是否搭建成功。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值