前言
这一节是因为最近改变了一下连接主机的ip,然后就需要修改一下uboot中一些变量的值。平台是i.mx6ull。
嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度更新本专栏,喜欢的可以关注本博主并订阅本专栏,一起讨论一起学习。现在关注就是老粉啦!
行文目录
修改serverip
修改一下服务器的ip,最后需要saveenv
一下
cpp
setenv serverip 192.168.50.169
saveenv
修改bootargs参数
修改bootargs,用于修改root的值,将root值改为NFS挂载,root的值格式如下:
cpp
root=/dev/nfs nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>] ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>:<dns0-ip>:<dns1-ip>
<server-ip> :服务器 IP 地址 ,也就是存放根文件系统主机的 IP 地址,那就是 Ubuntu 的 IP地址,比如我的 Ubuntu 主机 IP 地址为 192.168.50.169。
<root-dir> :根文件系统的存放路径 ,比如我的就是/home/wp/Linux/nfs/rootfs。
<nfs-options> :NFS 的其他可选选项,一般不设置 。
<client-ip> :客户端 IP 地址 ,也就是我们开发板的 IP 地址,Linux 内核启动以后就会使用此 IP 地址来配置开发板。此地址一定要和 Ubuntu 主机在同一个网段内,并且没有被其他的设备使用,在 Ubuntu 中使用 ping 命令ping 一下就知道要设置的 IP 地址有没有被使用,如果不能ping 通就说明没有被使用,那么就可以设置为开发板的 IP地址,比如我就可以设置为192.168.50.171。
<server-ip> :服务器 IP 地址 ,前面已经说了。
<gw-ip> :网关地址 ,我的就是 192.168.1.1。
<netmask> :子网掩码 ,我的就是 255.255.255.0。
<hostname> :客户机的名字,一般不设置 ,此值可以空着。
<device> :设备名,也就是网卡名 ,一般是 eth0,eth1....,正点原子的 I.MX6U-ALPHA 开 发板的 ENET2 为 eth0,ENET1 为 eth1。如果你的电脑只有一个网卡,那么基本只能是 eth0。 这里我们使用ENET2,所以网卡名就是 eth0。
<autoconf> :自动配置,一般不使用 ,所以设置为 off。
<dns0-ip> :DNS0 服务器 IP 地址,不使用 。
<dns1-ip> :DNS1 服务器 IP 地址,不使用。
下面是我机子的设置结果,最后记得saveenv
一下:
cpp
setenv bootargs 'console=tty1 console=ttymx0,115200 root=/dev/nfs rw nfsroot=192.168.50.169:/home/wp/Linux/nfs/rootfs ip=192.168.50.171:192.168.50.169:192.168.50.1:255.255.255.0::eth0:off'
saveenv
设置bootcmd
检查一下bootcmd变量,是否如下所示,不是的话设置一下,最后记得saveenv
cpp
setenv bootcmd 'mmc dev 1; fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 83000000 imx6ull-alientek-emmc.dtb; bootz 80800000 - 83000000;'
saveenv
参考资料
[1] 【正点原子】I.MX6U嵌入式Linux驱区动开发指南 第三十八章(1025页)