一、u-boot层
设置好环境变量。
u-boot启动后、我们通常要设置boot的env。包括ipaddr、serverip、ethaddr、bootargs、bootcmd等等。但是mac地址第一次设置之后,就不能再通过命令设置了。
打印信息表示这个Mac地址不可覆盖。
当然我们可以通过nandflsah工具格式化、重新下载boot。然后就可以定义Mac地址了,当然因为一切都是新的。
但是我们要探究其根源、u-boot源码中是如何做到不可覆盖的呢?我们是否能把它改掉。
在u-boot源码 tools/env/fw_env.c中
二、Linux系统
用ifconfig查看mac地址
ifconfig eth0 hw ether 12:34:56:78:90:af 命令来设置mac地址
发现网卡繁忙,无法修改。先关闭再修改就可以了。
然后向主机ping包,看看源Mac是否改变
完!