解决Ubuntu 22.04 LTS作为nfs server时根文件系统挂载失败的问题
近期在调试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时根文件系统挂载失败的问题相关推荐
- Ubuntu 22.04 LTS 是史诗级的版本?
导读 Canonical 最新的代号为"Jammy Jellyfish"的 Ubuntu LTS 版本,受到全球用户的好评.有数百个新的小功能和一些不太大众化的功能并没有引起太多关 ...
- 为什么说 Ubuntu 22.04 LTS 是史诗级的版本
下面是 Ubuntu 22.04 LTS 的一些次要特性,这些特性使它成为迄今为止最好的 LTS 版本之一. Canonical 最新的代号为"Jammy Jellyfish"的 ...
- Ubuntu 22.04 LTS安装Modelsim SE 2020.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 ...
- 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. 必 ...
- Ubuntu 22.04 LTS 现在可供下载
现在可以从Ubuntu 网站下载Ubuntu 22.04 LTS. Ubuntu 22.04 进行了大量改进,包括新的水平工作区切换器和应用程序启动器.新的 UI 强调色.开箱即用的 RDP 支持和L ...
- 如何安装 Ubuntu 22.04 LTS 桌面版 ?
Canonical 在 2022年4月21日发布了期待已久的 Ubuntu 22.04 LTS 桌面操作系统.Ubuntu 22.04 的代号是 Jammy Jellyfish,它是一个 LTS (长 ...
- Ubuntu 22.04 LTS 中文桌面/服务器正式版发布 (内含 ISO 镜像下载)
公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 迫不及待地想尝试 Ubuntu 22.04 LTS?现在,它终于可以下载和升级了. 该版本在之前的 LTS 版本基 ...
- 双系统安装ubuntu 22.04 LTS(一步到位)
作为一个拥有两次都是一次成功安装好双系统的经验的人,我觉得我可以借这个文章仔细讲述一下,让大家都可以双系统安装都是一次成功.为什么有着两次安装经验呢,第一次安装完成后由于电脑的内存不太够了,然后重新装 ...
- ubuntu 22.04 lts 安装步骤(vmware)
ubuntu 22.04 lts 安装步骤(vmware) ubuntu 22.04 lts 安装步骤(vmware) 下载镜像 安装步骤 创建虚拟机 安装 ubuntu 22.04 lts 配置 u ...
最新文章
- 在AI Studio上部署外部可以直接调用的云端服务
- php 效率最高的递归,PHP 递归效率分析_PHP教程 - microtime
- Linux内核链表交换节点,[笔记]Linux内核链表:结点的插入、删除以及链表的遍历...
- JNI学习开始篇 基础知识 数据映射及学习资料收集
- 【机器学习】HOG detectMultiScale 参数分析
- 代理(Proxy)模式
- Visual C++利用互斥量同步线程实现文件读取进度条
- 善解人意,改善您的在线关系
- C++ 虚函数表解析(转)
- 【Java】forward redirect 的差异
- 开源好用的 Android 市场 F-Droid
- linux 7zip 安装包,linux下安装7zip
- JavaScript基础语法-格式化日期年月日
- 关于Svchost.exe的说明及可能出现的问题解答
- SEI文献整理2:A Review of Radio Frequency Fingerprinting Techniques(2020)
- tvb php 香港IP,优酷与TVB签订战略合作协议,实现内容IP与平台资源结合
- plc无法跟计算机通信,无法与PLC通信
- 台式计算机使用寿命,惠普台式电脑怎么样(深度评测其质量及使用寿命)
- RocketMq之消费方式
- Firefox人气火红 能否取代龙头IE?