uboot通过NFS挂载根文件系统卡死解决办法(VFS: Unable to mount root fs via NFs, trying floppy)

uboot通过NFS挂载根文件系统时,加载完内核后,卡死在这里

gpio_dvfs: disabling
can-3v3: disabling
ALSA device list:
  #0: wm8960-audio

uboot通过NFS挂载根文件系统卡死解决办法(VFS: Unable to mount root fs via NFs, trying floppy)_第1张图片
原因:

从Ubuntu17.04开始,nfs默认只支持协议3和协议4,而kernel中默认支持协议2

解决办法:
1、修改 NFS 配置文件

sudo gedit /etc/default/nfs-kernel-server

在末尾添加:

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

2、重启NFS服务

systemctl restart nfs-kernel-server

3、uboot的bootargs设置

setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.1.200:/home/me/imx6ull_nfs ip=192.168.1.100:192.168.1.200:192.168.1.1:255.255.255.0::eth0 off'

ip参数的格式为 ip=:::::::

参数 说明
client-ip 开发板IP
server-ip 服务器IP
gw-ip 网关,如果nfs服务器与开发板在同一个网段内,则此项可以空置
netmask 子网掩码,可为空,则为默认值255.255.255.0
hostname 你希望给开发板设置的主机名,形如Linux中的 user@ubuntu:~ $ ,user指当前的用户,而ubuntu就是一个hostname. 此项可以留空
device 指定给哪一块一块网卡,比如你插得网口就是第0个,那就是eth0
autoconf 自动配置未明确指定参数的方式,可以是dhcp, rarp, bootp。如果不希望使用自动配置则可以使用off值来关闭
autoconf参数可以独立作用于ip参数,如ip=dhcp即表示由dhcp服务器给内核的ip参数提供所有数据
ip=off则表示所有参数都不配置,留待系统启动进行配置。

你可能感兴趣的:(IMX6ULL,uboot,NFS,根文件系统,驱动)