
Dear Frans,
Am 02.12.2011 09:24, schrieb Frans Meulenbroeks:
2011/12/1 Andreas Bießmann <andreas.devel@googlemail.com mailto:andreas.devel@googlemail.com>
Dear Frans Meulenbroeks, Am 01.12.2011 14:30, schrieb Frans Meulenbroeks: > The README file lists 4 defined that were not actually present in the .h > file but that were needed to get things working with settings compiled in. > They are > Added these to the .h file > (the values above are the ones from the README file) > > Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com <mailto:fransmeulenbroeks@gmail.com>> I tend to NAK this. > --- > tools/env/fw_env.h | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h > index 9258c79..2dcb373 100644 > --- a/tools/env/fw_env.h > +++ b/tools/env/fw_env.h > @@ -34,8 +34,12 @@ > #define DEVICE2_NAME "/dev/mtd2" > #define DEVICE1_OFFSET 0x0000 > #define ENV1_SIZE 0x4000 > +#define DEVICE1_ESIZE 0x4000 > +#define DEVICE1_ENVSECTORS 2 This change will overwrite the settings done by ENV1_SIZE ... and none of the settings match my boards needs ;) I would appreciate you test my patch http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/106972/focus=112948 or http://patchwork.ozlabs.org/patch/120372/ I guess you could fulfil your requirements with that patch too. best regards
Hi Andreas, all
I have no particular preference to your patch, and I am not 100% sure about the overwriting of ENV1_ESIZE. Actually my understanding is that ENV1_SIZE specifies the size of the environment and DEVICE1_ESIZE is the size of a sector (but I may be wrong here)
Well, I shortly overflow the code and saw around line 1240 in fw_env.c the envdevices[0] values set by ENV1_SIZE are overwritten by DEVICE1_ESIZE. But you are right, ENVx_SIZE is size of environment, DEVICEx_SIZE is erase-size. Current code assumes erase-size == env-size with one sector. Beside that fw_printenv requires /etc/fw_env.config by default.
What I noticed was that there is a difference with what is specified in the tools/env/README file and what is in tools/env/fw_env.h
For my project I wanted to have the settings into the program and avoid the file in /etc, hence I followed the README and bumped into the fact that these two were missing. I've added them to make them compliant with the README.
We do need compiled in parameters too, but I found it cumbersome to change the code in repository to have correct parameters for my board. Cause everyone need to patch the default configuration I found it easy to provide a generic way to inject a specific configuration. The http://patchwork.ozlabs.org/patch/120372/ is about three month old but no one cares. Therefore the pointer to that patch ...
For my board of course the values were not correct either, so I patched these locally, then tested my work and found it to work. As it stands this could probably be replaced with your patch; can't test that now as we are in the usual end-of-year stress to complete some projects. Yet an alternate solution could be to update the README file.
I guess this would be best.
best regards
Andreas Bießmann