UBOOT mac一般只可以更改一次,可以看一下UBOOT的源码,是否可重复更改取决于系统配置
相关代码在 uboot源码目录下的common\cmd_nvedit.c中
#ifndef CONFIG_ENV_OVERWRITE /* * Ethernet Address and serial# can be set only once, * ver is readonly. */ if ( (strcmp (name, "serial#") == 0) || ((strcmp (name, "ethaddr") == 0) #if defined(CONFIG_OVERWRITE_ETHADDR_ONCE) && defined(CONFIG_ETHADDR) && (strcmp (env_get_addr(oldval),MK_STR (CONFIG_ETHADDR)) != 0) #endif /* CONFIG_OVERWRITE_ETHADDR_ONCE && CONFIG_ETHADDR */ ) ) { printf ("Can't overwrite \"%s\"\n", name); return 1; } #endif
从此处代码分析得知,若没有定义CONFIG_ENV_OVERWRITE ,则不能
多次更改MAC地址,所以只要#define CONFIG_ENV_OVERWRITE 定义下就
可以了,定义在哪里合适我不怎么知道,我是定义在 “include/configs/”中与自
己板子对应的配置头文件中的。仅供参考