解决uboot使用nfs启动失败的问题

 

1.1  当前情况说明:

(1)   kernel相应的网络和文件系统的配置设置都是正确的、ubuntu中的nfs搭建也没有问题。

(2)  uboot与ubuntu能够互相ping通。

(3)  boot_args设置为:  set bootargs 'root=/dev/nfs nfsroot=192.168.1.141:/root/2.uboot_kernel/mk_rootfs/rootfs ip=192.168.1.20:192.168.1.141:192.168.1.1:255.255.255.0::ens33:off init=/linuxrc console=ttySAC2,115200'

(4)  uboot启动kernel时,会报以下错误信息。

VFS: Unable to mount root fs via NFS, trying floppy.

[   93.295457] VFS: Cannot open root device "nfs" or unknown-block(2,0)

[   93.301512] Please append a correct "root=" boot option; here are the available partitions:

[   93.309851] b300         3866624 mmcblk0 driver: mmcblk

[   93.315028]   b301          264495 mmcblk0p1

[   93.319255]   b302          264495 mmcblk0p2

[   93.323501]   b303          105798 mmcblk0p3

[   93.327747]   b304         3207946 mmcblk0p4

[   93.331995] b308         7783424 mmcblk1 driver: mmcblk

[   93.337193]   b309         7749540 mmcblk1p1

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

1.2 尝试方法

进行了以下尝试

(1)  重启nfs服务、重新配置kernel应有的配置项。   

      未解决

(2)  参考https://blog.csdn.net/sean_8180/article/details/81112520

        修改nfs配置文件 /etc/default/nfs-kernel-server,在文件末尾加入一句:RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"    

        未解决

(3)  用fastboot进行完整刷机后,启动内核,进行挂载。说明nfs服务器的搭建是没有问题的。

(4)  将boot_args中的ens33改成eth0。。。居然能够成功挂载nfs了。。原来问题出在这里

在高版本的ubuntu中,网卡名叫ens33,所以我一直传参都写的是ens33。。原来bootargs中的这个参数,指的是开发板侧的网卡。

     解决了

1.3 解决方法

     将ens33改为eth0。挂载成功

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐