mtd filesystem across different sector sizes in the same part
cmayor at iders.ca
Mon Oct 6 16:45:45 EDT 2003
On Monday 06 October 2003 14:36, David Woodhouse wrote:
> On Mon, 2003-10-06 at 14:33 -0500, Cam Mayor wrote:
> > In my flash part (intel 28f320c3) there are 8 x 8kB blocks and 63 x 64 kB
> > blocks. I believe that  MTD can span the two block sizes effectively
> > for it to be recognized as a single MTD device. JFFS2, IIRC, uses 5
> > flash blocks for flash filesystem overhead. Do those blocks have to be
> > any specific size relative to the rest of the filesystem blocks? Will it
> > use the first five blocks, or does it move around for wear levelling?
> > Will JFFS2 get confused by different block sizes, or is that already
> > handled in the MTD layer?
> JFFS2 will use the 'major' erase size, and treat your 8 * 8KiB blocks as
> a single 64KiB block.
In my particular usage, the first two (of eight) "small" blocks are used by
the bootloader, leaving a free area of 6 x 8kiB blocks + 6 x 64 kiB blocks.
Just now i tried specifying this oddly shaped area on the kernel command
line, with the result:
mtd: partition "free" doesn't start on an erase block boundary -- force
So, it sounds like JFFS2 won't handle this specific situation, as mtd itself
is unwilling to deal with it. (the partition "free" does start on an erase
block boundary - but it is one of the smaller block boundaries, not the major
I don't have a multi-flash system, so i can't test this, but i wonder how
this would work for a system concatenated across two flash chips with
different erase block sizes where the numbers don't allow them to align
Here's another thing i just thought of but haven't noticed in my mtd research
in the past (and couldn't see anything relevant in Configure.help): is there
a way to get two non-continuous mtd partitions to host a jffs2 filesystem?
mtd5: 00400000 00020000 "userarea1"
mtd6: 00400000 00020000 "something_else"
mtd7: 00400000 00020000 "userarea2"
is there a way to use the disjoint mtd5+mtd7 together to host a continuous
thanks for the info.
More information about the linux-mtd