首页 > 代码库 > u-boot: Error: Can't overwrite "ethaddr"
u-boot: Error: Can't overwrite "ethaddr"
When try to execute following command, It reports error as following:
--->8---
U-Boot> setenv ethaddr 4a:74:1f:75:31:56
## Error: Can‘t overwrite "ethaddr"
## Error inserting "ethaddr" variable, errno=1
---8<---
仔细阅读README文件,有如下描述:
--->8---
- Vendor Parameter Protection:
U-Boot considers the values of the environment
variables "serial#" (Board Serial Number) and
"ethaddr" (Ethernet Address) to be parameters that
are set once by the board vendor / manufacturer, and
protects these variables from casual modification by
the user. Once set, these variables are read-only,
and write or delete attempts are rejected. You can
change this behaviour:
If CONFIG_ENV_OVERWRITE is #defined in your config
file, the write protection for vendor parameters is
completely disabled. Anybody can change or delete
these parameters.
Alternatively, if you #define _both_ CONFIG_ETHADDR
_and_ CONFIG_OVERWRITE_ETHADDR_ONCE, a default
Ethernet address is installed in the environment,
which can be changed exactly ONCE by the user. [The
serial# is unaffected by this, i. e. it remains
read-only.]
The same can be accomplished in a more flexible way
for any variable by configuring the type of access
to allow for those variables in the ".flags" variable
or define CONFIG_ENV_FLAGS_LIST_STATIC.
---8<---
这样,最简单的方法是在板子相关的文件中加入:CONFIG_ENV_OVERWRITE 重新编译u-boot。写入重启问题得以解决。
u-boot: Error: Can't overwrite "ethaddr"