一. uboot 网络操作命令
uboot
是支持网络的,我们在移植
uboot
的时候一般都要调通网络功能,因为在移植
linux
kernel
的时候需要使用到
uboot
的网络功能做调试。
uboot
支持大量的网络相关命令,比如
dhcp
命令、
ping 命令
、
nfs 命令
和
tftpboot命令
,我们接下来依次学习这几个网络相关的命令。
uboot的命令模式:当开发板上电时立刻按下回车键,这时开发板打印信息停留在 uboot启动时刻,这就是 uboot的命令模式。
二. uboot 网络命令
(1) ping 命令
开发板的网络能否使用,是否可以和服务器
(Ubuntu
主机
)
进行通信,通过
ping
命令就可
以验证,直接
ping
虚拟机 ubuntu 的
IP
地址即可。
例如,我的ubuntu系统的
IP
地址为
192.168.1.66
,打开开发板的 uboot命令模式,输入如下命令
:
=> ping 192.168.1.66
Using FEC1 device
host 192.168.1.66 is alive
可以看出,开发板成功的 ping通 Ubuntu系统。
注意:只能在 uboot 中 ping 其他的机器,其他机器不能 ping uboot,因为 uboot 没有对 ping
命令做处理,如果用其他的机器 ping uboot 的话会失败!
(2) dhcp命令
dhcp
用于从路由器获取
IP
地址,前提得开发板连接到路由器上的,如果开发板是和电脑
直连的,那么
dhcp
命令就会失效。
直接输入
dhcp
命令即可通过路由器获取到
IP
地址,如下操作:
=> dhcp
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5
DHCP client bound to address 192.168.1.137 (7962 ms)
*** Warning: no boot file name; using 'COA80189.img'
Using FEC1 device
TFTP from server 192.168.1.1; out IP address is 192.168.1.137
Filename 'C0A80189.img'.
Load address: 0x80800000
Loading: T T T T T
可以看出,开发板通过
dhcp
获取到的
IP
地址为
192.168.1.137。
“
warning
:
no boot file name;
”、“
TFTP from server 192.168.1.1
”的信息,
这是因为
DHCP
不单单是获取
IP
地址,其还会通过
TFTP
来启动
linux
内核。
注意:通过 dhcp 命令获取到的 IP地址仅本次有效,不会修改开发板环境变量的 ip地址值。
下次设备重启后,依然使用的是 环境变量中的 IP地址。