在Ubuntu 22.04下开发板无法通过nfs挂载rootfs的问题

一、问题现象

在设置好uboot环境变量bootargs后,通过nfs挂载linux根文件系统,但是经过多次检查和尝试仍无法挂载(编译内核时已开启nfs服务,并且网络参数设置无误),开发板linux输出信息如下:
在这里插入图片描述

服务器端Ubuntu版本如下:
在这里插入图片描述

二、问题分析

在Ubuntu中查看nfs支持的版本:
sudo cat /proc/fs/nfsd/versions
在这里插入图片描述
发现当前版本的ubuntu不支持nfs v2版本

三、解决方案

1.修改服务器端nfs配置文件

参考文档:
嵌入式Linux开发——解决uboot无法使用nfs服务从ubuntu中下载文件(TTT、cannot mount等错误)-CSDN博客

解决Ubuntu 22.04 LTS作为nfs server时根文件系统挂载失败的问题_ubuntu nfs挂载没反应-CSDN博客
按此方案修改之后再次查看,依旧没有出现+2/-2版本

2.更改服务器端Linux内核版本

参考文档:
Ubuntu 22.04版本无法挂载NFS V2的解决方法-OpenEdv-开源电子网

解决Ubuntu 22.04不支持nfs 2服务导致开发板挂载失败的问题_vfs: cannot open root device “nfs” or unknown-bloc-CSDN博客
此方案通过切换低版本内核,解决Linux kernel 6.2及以上版本不支持nfs v2的问题,但未尝试。

3.直接使用旧版本的Ubuntu

参考方案2,使用旧版本的Ubuntu,Ubuntu和内核版本如下:
在这里插入图片描述
查看nfs支持版本如下:
在这里插入图片描述
此时已经支持了nfs v2版本。

安装nfs服务器,并设置好挂载路径,重新启动开发板,成功挂载rootfs!
在这里插入图片描述
开发板输入df -h命令,验证rootfs是否从nfs服务器挂载:在这里插入图片描述

四、参考文档

1.用NFS挂载根文件系统详解(带nfs版本不兼容问题的解决方法)_rockchip挂载nfs根文件系统-CSDN博客

2.Linux学习之Uboot使用nfs下载文件_cat /proc/fs/nfsd/versions 没有2-CSDN博客

3.VFS: Cannot open root device “nfs“ or unknown-block(2,0): error -6 NFS挂载不上,内核配置问题_vfs: cannot open root device “nfs” or unknown-bloc-CSDN博客

  • 23
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值