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/”中與自
己板子對應的配置頭文件中的。僅供參考
本文出自 “ITDS” 博客,請務必保留此出處http://limingshang.blog.51cto.com/2975568/1281350