
Hi Scott. Thank you for your answer.
You can use CONFIG_ENV_RANGE to declare a multi-block range, larger than the environment size, to allow bad blocks to be skipped.
You need to use CONFIG_ENV_RANGE and keep the environment the same size -- otherwise it thinks you really want two blocks of environment data, and one of those blocks being bad is still fatal.
Thank your for the info. I will put this flag in my board definition file. I is exactly the case. The block I choose to be the environment block became bad so i increased the size to 2 blocks and the second block became bad. So in my both cases, what you said explains that the case I met. I will put this flag and check if it is present in my 1.3.4 version.
Or you can use the new env.oob feature to dynamically mark a known-good block as your environment.
I do not know this feature. To which config flag does it relate ?
Please be careful with that. Unless you have reason to believe that the block was accidentally marked bad by something software did, you ought to leave bad block markers in place.
That's what I believed since they became bad only after uboot wrote to them...
The manufacturer put that marker there to indicate that the block is unreliable (it's normal for NAND flash to contain a few such blocks).
For this i am ok with you.
Another question or confirmation: when using environment in NAND, must the environment size be the same than the NAND block size, i.e 128KB in my case (which i think is too huge) ?
Thank you for answering
Reda