uboot通过NFS挂载根文件系统时,加载完内核后,卡死在这里
gpio_dvfs: disabling
can-3v3: disabling
ALSA device list:
#0: wm8960-audio
原因:
从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>:<server-ip>::<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
参数 | 说明 |
---|---|
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则表示所有参数都不配置,留待系统启动进行配置。 |