changing mtd partitioning

Werner Almesberger werner at
Fri Apr 11 16:56:52 CEST 2008

Sean McNeil wrote:
> What does dynpart refer to then when it says is reads from BBT.

Hmm, when does it say something like this ?

It does read the BBT, that's true. It does so to find out how much space
it has to leave for bad blocks. (By the way, all this is mainly about
blocks marked as "bad" at the factory.)

> And why doesn't dynpart obey what is written in the env?

Dynpart creates the mtdparts information. Its own input, i.e., partition
names and sizes, is hard-coded in u-boot, in dynpart_size and
dynpart_names in board/neo1973/gta02/gta02.c

As Andy has already pointed out, we don't quite like this approach
anymore. But it's a legacy that has survived until GTA02.

It's interesting to note that, had we sized partitions statically such
that there some "slack" blocks in each to accommodate bad blocks, it seems
that we would have had to spend 1% of the NAND size for slack blocks if
we'd wanted to aim for a <10^-6 per-partition risk of not having enough
slask, or 1.5% of the NAND for a <10^-9 risk. Assuming that bad blocks are
evenly distributed and that my calculations are correct:

- Werner

More information about the openmoko-kernel mailing list