root的格式为:
root=/dev/nfs nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>] ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>:<dns0-ip>:<dnsl-ip>
其中各个含义如下:
<server-ip>:服务器 IP 地址,也就是存放根文件系统主机的 IP 地址,那就是 Ubuntu 的 IP 地址
<root-dir>:根文件系统的存放路径
<nfs-options>:NFS 的其他可选选项,一般不设置
<client-ip>:客户端 IP 地址,也就是我们开发板的 IP 地址,Linux 内核启动以后就会使用 此 IP 地址来配置开发板。此地址一定要和 Ubuntu 主机在同一个网段内,并且没有被其他的设 备使用,在 Ubuntu 中使用 ping 命令 ping 一下就知道要设置的 IP 地址有没有被使用,如果不能 ping 通就说明没有被使用,那么就可以设置为开发板的 IP 地址
<server-ip>:服务器 IP 地址
<gw-ip>:网关地址,我的就是 192.168.1.1
<netmask>:子网掩码,我的就是 255.255.255.0
<hostname>:客户机的名字,一般不设置,此值可以空着
<device>::设备名,也就是网卡名
<autoconf>:自动配置,一般不使用,所以设置为 off
<dns0-ip>:DNS0 服务器 IP 地址,不使用
<dns1-ip>:DNS1 服务器 IP 地址,不使用
综上,在环境变量中设置bootargs和bootcmd的命令如下:
bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.0.121:/home/u/linux/nfs/rootfs,proto=tcp rw ip=192.168.0.188:192.168.0.121:192.168.0.1:255.255.255.0::eth0:off'
bootcmd 'tftp 80800000 zImage;tftp 83000000 imx6ull-alientek-emmc.dtb;bootz 80800000 - 83000000'