首页 > 其他分享 >i.MX6ULL - 问题解决:NFS挂载失败 - VFS: Unable to mount root fs on unknown-block(2,0)

i.MX6ULL - 问题解决:NFS挂载失败 - VFS: Unable to mount root fs on unknown-block(2,0)

时间:2023-02-01 21:31:23浏览次数:45  
标签:fs mount 192.168 nfs 挂载 NFS root bootargs


i.IMX6ULL - 问题解决:NFS挂载失败 - VFS: Unable to mount root fs on unknown-block(2,0)


开发环境:

  • 移植的linux5.4.7.0
  • ubuntu1804 x64
  • arm-linux-gnueabihf-gcc v7.5

NFS方式挂载根文件系统失败,提示:

[  101.168510] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[ 101.176792] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0) ]---

i.MX6ULL - 问题解决:NFS挂载失败 - VFS: Unable to mount root fs on unknown-block(2,0)_imx6ull

错误码说明:

  • 0:大概率是网卡驱动问题或者文件系统不存在
  • 1:确保zImage正确,同时必须确保把镜像烧写到正确的地址,如果以nfs方式加载镜像的话,确保不要超出ram的地址范围
  • 2:linux主机上面的nfs服务是否安装好
  • 3:linuxrc的权限问题没有设为可执行文件,在制作根文件系统时,最好 chmod 777 linuxrc 一下,以免出现Failed to execute /linuxrc的麻烦

而我的错误码是​​unknown-block(2,0)​​​,错误码为2,说明错误因为大概率是linux主机的nfs安装问题,检查nfs后并没有发现问题,遂又去查看NXP官方EVK开发板里的​​imx6ullevk.h​​里的运行脚本:

i.MX6ULL - 问题解决:NFS挂载失败 - VFS: Unable to mount root fs on unknown-block(2,0)_imx6ull_02

发现他是使用dhcp自动获取的ip,这个不用管,但是后面添加了​​v3,tcp​​​这两个参数,不知道什么意思,遂去查看linux内核源码目录下​​Documentation\filesystems\nfs\nfsroot.txt​​​文件,这个文件是介绍从网络挂载文件系统时候设置bootargs变量的方法,从该文件中了解到​​v3​​​表示指示NFS使用v3版本协议,​​tcp​​表示使用的是tcp协议。


1、方式一:更改bootargs参数

后又从网上了解到,uboot中默认是使用NFS-V2协议,而ubuntu1804默认使用的是NFS-V3协议,这就造成了挂载时候的不兼容,造成挂载不上。

那么将原本的参数:

setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.28.254:/rootfs ip=192.168.28.234:192.168.28.254:192.168.28.1:255.255.255.0::eth0:off'

改为:

setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.28.254:/rootfs,v3,tcp ip=192.168.28.234:192.168.28.254:192.168.28.1:255.255.255.0::eth0:off'

即可挂载成功!

i.MX6ULL - 问题解决:NFS挂载失败 - VFS: Unable to mount root fs on unknown-block(2,0)_网络_03


2、方式二:更改ubuntu的NFS配置参数

上面那种方式是指定bootargs变量,但是如果你移植的uboot和linux内核版本不是很新的话,uboot和内核还不支持NFS-V3版本协议,那么就只能修改ubuntu的NFS配置了。

问题解决:

vim /etc/default/nfs-kernel-server

在文件末尾加入:

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

重启NFS:

/etc/init.d/nfs-kernel-server restart

这样就能开发板就能挂载上了!


ends…


标签:fs,mount,192.168,nfs,挂载,NFS,root,bootargs
From: https://blog.51cto.com/u_15950551/6031881

相关文章

  • 如何使用 JuiceFS 创建 WebDAV 共享
    WebDAV是一种基于HTTP的文件共享协议,最初被设计用于多用户文档协作编辑的场景,也被广泛应用在基于互联网的文件存储、数据同步等网盘类应用场景。手机端和PC端有大量......
  • 广度优先搜索算法 BFS 实战 All In One
    广度优先搜索算法BFS实战AllInOneBreadth-FirstSearch/BFSBFS/广度优先搜索/广度优先遍历/按层次遍历树demosLeetCode"usestrict";/****......
  • 3. CTFshow 反序列化 web254
    一、源码<?phperror_reporting(0);highlight_file(__FILE__);include('flag.php');classctfShowUser{public$username='xxxxxx';public$password='xxx......
  • lc144-给你二叉树的根节点 root ,返回它节点值的 前序 遍历。
    给你二叉树的根节点root,返回它节点值的前序遍历。//leetcodesubmitregionbegin(Prohibitmodificationanddeletion)/***Definitionforabinarytreenode......
  • BrootStrap学习笔记
    BrootStrap学习笔记  col-xs/col-sm/col-md/col-lg/col-xl总结*表示当前div所占的列数(共12列);col-sm-3表示该div在小屏幕中占6列,.col-xs-*column-extrasmal......
  • 说一下created和mounted区别
    created:Vue实例vm能够访问data里的数据,和methods里的方法,即在模板渲染成html页面之前,可以通过ajax获取页面所需要的初始化数据,可以在这个生命周期函数操作。mounted:经......
  • kubernetes对接NFS动态存储
    存储PK根据不同的场景,可以考虑用Ceph、GlusterFS或NFS来存储Kubernetes数据。Ceph有较强的性能和容错能力,通常适用于中小规模的Kubernetes组件;GlusterFS具有可伸缩性,适用......
  • VMware虚拟机安装Linux后忘记root密码如何重置
    前言好久没用虚拟机,今天想用时发现,竟然忘记了Linux用户的登录密码,只能暴力修改root用户密码了。下面来说一下,我是怎样成功修改root用户密码的操作步骤大概如下:第一步:启动......
  • 倍增+bfs 清楚姐姐逛街
    题目https://ac.nowcoder.com/acm/contest/46812/H题意地图大小N*M,障碍物为“#”,地图上其他所有点有一个字母(“LRUD”之一,表示走的方向;“.”表示A停止)有两个人A和B,A......
  • MongoDB GridFS操作说明
    原文:https://www.sohu.com/a/457367447_468635搭建基于MongoDB的文件管理系统(一)-作业部落CmdMarkdown编辑阅读器(zybuluo.com) 一、MongoDBGridFS先说说GridF......