[U-Boot-Users] [PATCH, resend] Support dynamic/patched NAND ENV offset

Scott Wood
2008-07-08T16:05:10Z

Harald Welte wrote:
> On Mon, Jul 07, 2008 at 01:47:24PM -0500, Scott Wood wrote:
>> It works if you allow room for bad blocks within each partition, and treat
>> the environment as its own partition. Current u-boot supports skipping bad
>> blocks within a desginated environment region.
>
> which wastes a lot of space, if you have something like a 128kByte
> erase-block-size (like most 2kByte page size NAND's today)... so if you
> want to have redundancy and use some spare blocks you will end up with
> something on the order of 512kByte of wasted flash space to store a
> couple of hundreds of bytes environment. Not very elegant.
>
> Furthermore, if you want to make sure it always works with any of your
> components that are within the spec of the manufacturer, then you will
> waste even more. The problem is that a new virgin component e.g. a
> 64MByte flash from Samsung can have already as many as 1.3MBytes of bad
> blocks.

Fair enough...

> Therefore, I still believe that such a feature is useful and should be
> merged into u-boot. If there are problems with my particular
> implementation, I'm happy to address them.

Can you base it off of the testing branch of the u-boot-nand-flash repo?

> I also have another patchset for what I call 'dynpart' support, i.e. the
> dynamic calculation of a unit-specific partition table that ensures the
> net size of partitions are as per spec, no matter how many of the
> factory default blocks are located where. So it would even support
> NAND devices with a worse spec than the ones that we were using.

Interesting... Would such a patch eliminate the need for this one, by
making the environment a dynamic partition? Is there any (plan for)
Linux support?

-Scott