近期在调试IMX6ULL开发板,为了方便,准备以nfs的方式通过网络挂载根文件系统。挂载方法如下:

使用busybox构建根文件系统,这个过程不谈,网上有很多教程。

一,server配置(Ubuntu 22.04 LTS)

1.1.安装NFS

sudo apt-get install nfs-kernel-server

1.2.server创建共享目录,并给予可执行权限

sudo mkdir ~/linux/nfs
sudo chmod 777 ~/linux/nfs

1.3.配置NFS服务

sudo vim /etc/exports

在最后添加

/home/zzzz/linux/nfs *(rw,sync,no_root_squash)

1.4.重启NFS服务

sudo service nfs-kernel-server restart

二、板端配置

2.1.设置bootargs参数

确保板端与server处于同一网段且能ping通server,这部分网上也有很多教程,大家可以自行去查。

设置u-boot bootargs,参数信息需要根据自己的环境配置,具体怎么写可以参考linux源码目录下的Documentation/filesystems/nfs/
nfsroot.txt,也可以直接度娘,在此不赘述,只是给大家参考。

setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.31.47:/home/zhangyuchi/linux/nfs/rootfs,proto=tcp rw ip=192.168.31.55:192.168.31.47:192.168.31.1:255.255.255.0::eth0:off'
saveenv

设置完之后print bootargs检查确认一下,这里的信息很重要,如果有错误后面肯定是挂载不上的。

2.2.进入系统

输入boot命令后回车即可

问题及解决

如果u-boot版本比较低时,而使用的server版本较高时,这时候就可能会挂载不成功。这是因为u-boot仅支持nfs v2,不支持nfs v3,而ubuntu 18之后则不再支持nfs v2。

解决办法

1.server端使能nfs v2

1.1-1.ubuntu18之后的版本

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

将RPCNFSDCOUNT=8修改为RPCNFSDCOUNT="8 -V 2"

 1.2-2.ubuntu22.04 LTS(这是本文最重要的地方,因为ubuntu 18版本解决方法网上很容易搜到,而ubuntu 22.04并不能使用相同的修改办法)

sudo vim /etc/nfs.conf

将vers2=n改为vers2=y,并把前面的#去掉

Ps.Ubuntu不同版本修改nfs配置的方法在ubuntu官网上有介绍,本文便是参考的官网描述:

1. 2.修改完后重启nfs服务

sudo service nfs-kernel-server restart

1.3.确认nfs v2已成功开启

sudo cat /proc/fs/nfsd/versions

下面有+2就是成功了!、

开发板重新boot就可以挂载上根目录了:

2.板端使能nfs v3

板端需要支持nfs v3,这样的话只要在bootargs中加上‘nfsvers=3’即可。

解决Ubuntu 22.04 LTS作为nfs server时根文件系统挂载失败的问题相关推荐

  1. Ubuntu 22.04 LTS 是史诗级的版本?

    导读 Canonical 最新的代号为"Jammy Jellyfish"的 Ubuntu LTS 版本,受到全球用户的好评.有数百个新的小功能和一些不太大众化的功能并没有引起太多关 ...

  2. 为什么说 Ubuntu 22.04 LTS 是史诗级的版本

    下面是 Ubuntu 22.04 LTS 的一些次要特性,这些特性使它成为迄今为止最好的 LTS 版本之一. Canonical 最新的代号为"Jammy Jellyfish"的 ...

  3. Ubuntu 22.04 LTS安装Modelsim SE 2020.4

    前言 教程中的部分内容参考自易特创芯论坛,鉴于论坛相关资料有些零散.安装步骤繁琐或是存在错误.部分原理性问题未解释清楚人云亦云.导致为入门者带来了困难等原因,为此梳理出一篇相对完整的教程 准备工作 · ...

  4. Ubuntu 22.04 LTS apt-get update 报 Key is stored in legacy trusted.gpg keyring 警告解决方案

    背景介绍 在 Ubuntu 22.04 LTS 下更新源 apt-get update 遇到了Key is stored in legacy trusted.gpg keyring (/etc/apt ...

  5. after Ubuntu 22.04 LTS

    文章目录 1. 安装操作系统 2. 登录后 2.1 修改 root 用户密码 2.2 vim 2.3 OpenSSH 2.3 更新 2.3.1 选择软件源 2.3.2 更新 2.4 挂载硬盘 3. 必 ...

  6. Ubuntu 22.04 LTS 现在可供下载

    现在可以从Ubuntu 网站下载Ubuntu 22.04 LTS. Ubuntu 22.04 进行了大量改进,包括新的水平工作区切换器和应用程序启动器.新的 UI 强调色.开箱即用的 RDP 支持和L ...

  7. 如何安装 Ubuntu 22.04 LTS 桌面版 ?

    Canonical 在 2022年4月21日发布了期待已久的 Ubuntu 22.04 LTS 桌面操作系统.Ubuntu 22.04 的代号是 Jammy Jellyfish,它是一个 LTS (长 ...

  8. Ubuntu 22.04 LTS 中文桌面/服务器正式版发布 (内含 ISO 镜像下载)

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 迫不及待地想尝试 Ubuntu 22.04 LTS?现在,它终于可以下载和升级了. 该版本在之前的 LTS 版本基 ...

  9. 双系统安装ubuntu 22.04 LTS(一步到位)

    作为一个拥有两次都是一次成功安装好双系统的经验的人,我觉得我可以借这个文章仔细讲述一下,让大家都可以双系统安装都是一次成功.为什么有着两次安装经验呢,第一次安装完成后由于电脑的内存不太够了,然后重新装 ...

  10. ubuntu 22.04 lts 安装步骤(vmware)

    ubuntu 22.04 lts 安装步骤(vmware) ubuntu 22.04 lts 安装步骤(vmware) 下载镜像 安装步骤 创建虚拟机 安装 ubuntu 22.04 lts 配置 u ...

最新文章

  1. 在AI Studio上部署外部可以直接调用的云端服务
  2. php 效率最高的递归,PHP 递归效率分析_PHP教程 - microtime
  3. Linux内核链表交换节点,[笔记]Linux内核链表:结点的插入、删除以及链表的遍历...
  4. JNI学习开始篇 基础知识 数据映射及学习资料收集
  5. 【机器学习】HOG detectMultiScale 参数分析
  6. 代理(Proxy)模式
  7. Visual C++利用互斥量同步线程实现文件读取进度条
  8. 善解人意,改善您的在线关系
  9. C++ 虚函数表解析(转)
  10. 【Java】forward redirect 的差异
  11. 开源好用的 Android 市场 F-Droid
  12. linux 7zip 安装包,linux下安装7zip
  13. JavaScript基础语法-格式化日期年月日
  14. 关于Svchost.exe的说明及可能出现的问题解答
  15. SEI文献整理2:A Review of Radio Frequency Fingerprinting Techniques(2020)
  16. tvb php 香港IP,优酷与TVB签订战略合作协议,实现内容IP与平台资源结合
  17. plc无法跟计算机通信,无法与PLC通信
  18. 台式计算机使用寿命,惠普台式电脑怎么样(深度评测其质量及使用寿命)
  19. RocketMq之消费方式
  20. Firefox人气火红 能否取代龙头IE?

热门文章

  1. 【安卓源码】简单分析smaps节点
  2. 暴躁算法(剑指系列)-每日一练
  3. 电脑使用android手机摄像头,电脑怎么使用安卓手机摄像头 电脑使用手机摄像头的方法...
  4. 手机摄像头作为电脑摄像头来使用
  5. 高德离线地图vue-amap的api文档(1):创建地图,撒点等等
  6. 为什么要进行傅立叶变换?傅立叶变换究竟有何意义?
  7. bongo cat mver手机版|键盘猫手机版
  8. 关于线性回归分析的理解
  9. 谈谈对java的理解
  10. Mysql优化-02