一、系统环境
| 环境 | 版本 |
|---|---|
| 操作系统 | Linux Mint 22 Wilma |
| 内核版本 | 6.8.0-44-generic |
| gcc 版本 | arm-none-linux-gnueabihf-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025 |
| uboot 版本 | 2020.01 |
| 开发板Linux版本 | 5.4.31 |
二、问题描述
内核通过nfs挂载根文件系统时报错,

网上很多经验贴讲述的方法是开启nfs服务器对v2版本的支持。
在/etc/default/nfs-kernel-server文件中增加RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog并不能开启v2版本支持。
三、解决方法
理论上来讲5.4.31的Linux版本不低,不应该只支持v2版本的nfs,但是/Documentation/filesystems/nfs/nfsroot.txt文档中没有描述如何指定nfs的版本。
通过查看源码发现nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]中的nfs-options可以增加nfsvers、vers参数指定nfs版本。

在bootargs中指定版本3,
重启后成功挂载




















