[U-Boot] NAND bad environment block handling
Schlaegl Manfred jun.
manfred.schlaegl at gmx.at
Sun Jan 11 12:10:54 CET 2009
Hi!
Am Donnerstag, den 08.01.2009, 07:19 -0800 schrieb Frans Meulenbroeks:
>
> Has someone experience in this area? Ideas? Suggestions?
1. For our systems we assume, that the env-block never gets bad in
productive use, because the env-block is never written again. So we
reduced the problem to number of initial/factory bad blocks.
2. the partitioning and environment-saving is done at production-time.
3. we put the environment in the last good block of the device. The
search starts at the end of device and ends at the last block of the
last data-partition with an error.
Example-Partition-Table on an 32MB-NAND, with blocksize 16kb and max. 45
factory bad-blocks:
* the part-size means the possible data size (without bad-blocks).
* the real partition-size on device depends on the bad-blocks in this
the partition and is calculated automatically at production-time
(partition generation).
part-size partition
200kb: uboot
1000kb: kernel
15000kb: rootfs
15832kb: datafs
rest of device: rest (maximal 45*16kb (max bad blocks) + 16bk (envblock)
= 736kb
with an increasing number of initial/factory bad-blocks the
rest-partition shrinks. So the env-block can be written on any
nand-device without less than 45 (initial/factory) bad-blocks.
>
> Thanks alot!
> Frans Meulenbroeks
>
- Manfred
More information about the U-Boot
mailing list