OpenEdv-开源电子网
标题:
NFS根文件系统挂不上 的根本原因算是找到了!!!
[打印本页]
作者:
tutuSTM32
时间:
2020-4-18 21:27
标题:
NFS根文件系统挂不上 的根本原因算是找到了!!!
1.先说现象
和很多人一样,我想按照教程上通过NFS挂载网络根文件系统:tftp下载zImage--下载.dtb--内核启动--一切正常,然后就卡在了
…………………………
[ 6.696891] ALSA device list:
[ 6.699876] #0: wm8960-audio
[ 9.393006] ci_hdrc ci_hdrc.0: timeout waiting for 00000800 in 13
再等下去就是
[ 312.163204] VFS: Unable to mount root fs via NFS, trying floppy.
[ 312.169823] VFS: Cannot open root device "nfs" or unknown-block(2,0): error -6
[ 312.177198] Please append a correct "root=" boot option; here are the available partitions:
[ 312.185635] 0100 65536 ram0 (driver?)
[ 312.190285] 0101 65536 ram1 (driver?)
[ 312.195056] 0102 65536 ram2 (driver?)
[ 312.199701] 0103 65536 ram3 (driver?)
[ 312.204404] 0104 65536 ram4 (driver?)
[ 312.209045] 0105 65536 ram5 (driver?)
[ 312.213738] 0106 65536 ram6 (driver?)
[ 312.218382] 0107 65536 ram7 (driver?)
[ 312.223068] 0108 65536 ram8 (driver?)
[ 312.227711] 0109 65536 ram9 (driver?)
[ 312.232351] 010a 65536 ram10 (driver?)
[ 312.237104] 010b 65536 ram11 (driver?)
[ 312.241830] 010c 65536 ram12 (driver?)
[ 312.246584] 010d 65536 ram13 (driver?)
[ 312.251312] 010e 65536 ram14 (driver?)
[ 312.256062] 010f 65536 ram15 (driver?)
[ 312.260798] b300 15558144 mmcblk0 driver: mmcblk
[ 312.266157] b301 15554048 mmcblk0p1 00000000-01
[ 312.271492] b308 7634944 mmcblk1 driver: mmcblk
[ 312.276853] b309 131072 mmcblk1p1 d89851a8-01
[ 312.282187] b30a 7493632 mmcblk1p2 d89851a8-02
[ 312.287544] b320 512 mmcblk1rpmb (driver?)
[ 312.292794] b318 4096 mmcblk1boot1 (driver?)
[ 312.298161] b310 4096 mmcblk1boot0 (driver?)
[ 312.303513] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[ 312.311793] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
很明显是根文件系统没有挂上去。
2.再说怎么解决
经过多方尝试(包括本坛内的各种解决方法都尝试过),几乎要崩溃到放弃。决定再试一次,左神说注意命令别敲错了,X神说是无线网和有线网之间问题。
老老实实把命令在txt文档下敲出来
setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.0.120:/home/tutu/linux/nfs/rootfs
proto=tcp
ip=192.168.0.110:192.168.0.120:192.168.0.1:255.255.255.0::eth0
ff'
关主机防火墙
关虚拟机防火墙
重启虚拟机NFS服务
(以上操作不知道是否有效,但做一遍不会导致根文件系统挂载失败)
再来搞IP
0.120是虚拟机IP(手动的绑定了)
0.110是开发板IP
主机IP也是手动绑定
开始用无线网,主机IP绑定192.168.0.100
(MMP,手动绑定主机IP还会断网,后面CMD(管理员模式运行)运行arp -d,重启,绑定成功)
尝试挂载根文件系统,失败--现象还是一样的。
(以上红色的都是徒劳)
0.120是虚拟机IP(手动的绑定了)
0.110是开发板IP
主机IP也是手动绑定
使用有线网,主机IP绑定192.168.0.200
(MMP,一样要CMD(管理员模式运行)运行arp -d,重启,绑定成功)
尝试挂载根文件系统,居然成功了。
(以上紫色是有用操作)
我还不确定是命令敲错了?
还是别的什么问题,拔了网线重连无线网,重启开发板,果然还是失败。
再还原有线网,断开无线,又成功了!
好,到这里我得出结论了,这个无线网和开发板连接NFS服务还是有问题的。
如果大家也遇到了tftp下载镜像文件和设备树文件成功,但是NFS网络根文件系统挂不上去,不妨试下我这种方法。
----------------------------------------------
好,重新捋一下,正式说:
a.主机使用有线网,并手动绑定IP。
b.
将主机防火墙关掉
c.
将虚拟机防火墙关掉
d.
将虚拟机NFS服务重启
e.手动敲一遍 setenv-----
作者:
无忧花开
时间:
2020-5-19 20:00
楼主,你这个开发板和电脑上网方式我有点蒙?是咋回事?咋连接的?
开发案和电脑直连然后电脑使用无线上网?这个无线是手机热点?到底咋回事呢?可否细说一下?
作者:
tutuSTM32
时间:
2020-6-8 10:58
没了解你要问的问题。我的连接方式是:电脑通过有线网络连到路由器,开发板也是通过有线网络连到路由器。把他们的IP设置到同一个网段,这样就正常了。之前我是电脑通过无线网络连到路由器的,一直挂不到NFS。
作者:
xilinxue
时间:
2020-7-23 15:49
我遇到的问题是,单独TFTP可以下载,NFS单独也可以下载,出现的现象和你的一样,就是挂载不成功,连接方式也是电脑有线到路由器,开发板有线到路由器,IP设置成了同一个网段,就是不成功,快崩溃了
作者:
zhang00956
时间:
2020-8-12 11:09
xilinxue 发表于 2020-7-23 15:49
我遇到的问题是,单独TFTP可以下载,NFS单独也可以下载,出现的现象和你的一样,就是挂载不成功,连接方式 ...
我也是这样,跟你的一模一样,boot tftp nfs都能用就是启动内核挂不上nfs根文件系统,老哥搞定没有?
作者:
luospring
时间:
2020-8-15 18:42
一般先在uboot模式ping下ip地址,可以通的话再看uboot变量设置是否正确,然后再看文件系统是否正确,这几个做下来基本都能搞定的
作者:
duapple
时间:
2022-6-30 00:57
我也遇到了同样的问题。我是开发板直连的虚拟机。
后面把开发板连路由器上面了,虚拟机也桥接路由器上面了,也还是不行。
最后发现原因:就是uboot进入kernel后,开发板的网络连接会掉,在windows网络适配器界面可以看到掉的情况。
掉了就再也连不上了,然后会报上面的错误。
但是不知道怎么解决开发板进入kernel网络会掉的问题。毕竟开发板直连虚拟机和通过路由器连接虚拟机我都试了。
作者:
IrohaIsshiki
时间:
2023-1-24 09:44
我是把防火墙关了就好了
作者:
kongqingxin
时间:
2023-1-28 01:18
从另一篇帖子找到的,“看看这篇文章,原来是版本问题
https://blog.csdn.net/beetleinv/article/details/114916323
” 按照教程需要在 /etc/default/nfs-kernel-server 内更改三句话,其中第二句话“RPCMOUNTDOPTS 里面的‘V’一定得大写”
欢迎光临 OpenEdv-开源电子网 (http://www.openedv.com/)
Powered by Discuz! X3.4