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::eth0ff'
关主机防火墙
关虚拟机防火墙
重启虚拟机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-----
|