You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ARM开发板在Ubuntu 22.04环境下无法使用NFS根文件系统求助

ARM开发板在Ubuntu 22.04环境下无法使用NFS根文件系统求助

嘿,我仔细扒了你的问题描述、启动日志和抓包数据,问题根源基本能锁定在Ubuntu 22.04默认的NFS配置和你ARM板的启动环境不匹配上,咱们一步步来解决:

核心问题拆解

从抓包和日志里能看到两个关键异常:

  1. 你的ARM板向新主机发起NFSv2(RPC 100003/2)端口查询时,主机返回PROGRAM_NOT_AVAILABLE——说明Ubuntu 22.04默认没启用NFSv2服务,而你的ARM板启动程序还在依赖这个旧版本
  2. 后续ARM板发NFS请求时收到“端口不可达”的ICMP错误,本质也是因为NFSv2服务没运行,对应的监听端口根本不存在

之前Ubuntu 18.04能正常工作,是因为旧版本默认会开启NFSv2,而22.04默认只支持NFSv3和v4。

具体解决步骤

1. 开启NFSv2服务

编辑NFS内核服务器的配置文件:

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

找到RPCNFSDOPTS这一行,修改为同时兼容多个版本:

RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"

2. 重启相关服务

保存配置后,重启NFS和rpcbind(Portmap是它的旧称,负责RPC端口映射):

sudo systemctl restart nfs-kernel-server
sudo systemctl restart rpcbind

3. 检查防火墙规则

Ubuntu 22.04默认开了ufw防火墙,得确保NFS和rpcbind的端口能被ARM板访问:

sudo ufw allow rpcbind
sudo ufw allow nfs

要是还不行,可以临时关闭ufw测试:

sudo ufw disable

确认能挂载后再重新配置防火墙规则就行。

4. 优化exports共享配置

检查/etc/exports里的共享目录配置,给ARM板的IP(192.168.1.6)加上insecure选项(因为ARM板启动程序可能用非特权端口发起请求,NFS默认只认特权端口):

/home/super8 192.168.1.6(rw,sync,no_subtree_check,insecure)

修改后重新导出共享目录:

sudo exportfs -ra

验证效果

做完上面的操作后重启ARM板,观察启动日志如果能走到VFS: Mounted root (nfs filesystem)这一步,就和你之前18.04环境的成功状态一致了,问题也就解决啦。

备注:内容来源于stack exchange,提问作者afreed58

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 11:59:07