[PATCH 0/3] arm: mvebu: Espressobin: Set default env values at runtime
a.heider at gmail.com
Tue Jan 12 09:18:44 CET 2021
On 11/01/2021 11:51, Pali Rohár wrote:
> Hello Stefan and Andre!
> Could you please look at this patch series and tell me what do you think
> about it? If it is fine or needs to take different approach?
I like the idea very much, and I bet there're quite some boards which
could make good use of "immutable envvars".
The obvious review point is the filler thing and its dependency on
DEFAULT_ENV_IS_RW, which probably won't win a beauty contest :) Maybe a
nicer integration would help in getting it merged?
I don't think it would take too much effort, first thing that comes to mind:
- board provides list of immutable vars
- env_set_default() backs up these vars
- env_set_default() imports default_environment
- env_set_default() imports backup on top
The last step should be easy, see env_set_default_vars().
Maybe the first step can be solved with ENV_FLAGS_VAR, a new immutable
flag, and boards just making use of CONFIG_ENV_FLAGS_LIST_DEFAULT to
declare those. But I fail to find an example in-tree.
> On Wednesday 23 December 2020 12:21:27 Pali Rohár wrote:
>> This patch series set default env values of $fdtfile and $ethNaddr for
>> Espressobin board at runtime.
>> It fixes two main issues on Espressobin board that 'env default -a'
>> completely erases permanent board MAC addresses and also erase $fdtfile
>> variable which is needed for booting Linux kernel via distro boot.
>> Lot of people were complaining about erasing permanent MAC addresses by
>> U-boot on this board and due to this issue some linux distributions
>> started using static hardcoded MAC addresses for all Espressobin boards
>> to workaround this issue. Apparently erase of MAC addresses or usage of
>> static hardcoded value caused more issues on network (e.g. inability to
>> connect two of these boards to the same network).
>> Pali Rohár (3):
>> env: Allow to set default_environment from board code via compile
>> option DEFAULT_ENV_IS_RW
>> arm: mvebu: Espressobin: Set default value for $fdtfile env variable
>> arm: mvebu: Espressobin: Set default value for $ethNaddr env variable
>> board/Marvell/mvebu_armada-37xx/board.c | 41 ++++++++++++++++++++-----
>> include/configs/mvebu_armada-37xx.h | 17 +++++++++-
>> include/env_default.h | 2 ++
>> include/env_internal.h | 4 +++
>> 4 files changed, 56 insertions(+), 8 deletions(-)
More information about the U-Boot