mkfs.jffs2 --cleanmarker=?

Phillip Kamp pkamp at
Thu Jun 9 20:17:06 EDT 2005

I'm developing a proprietary nand flash driver based on the
drivers/mtd/nand/nand_base.c code.  I can successfully read
and write the nand device in char mode, but when I write a jffs2
file system on it I get these CLEANMARKER errors:
CLEANMARKER node found at 0x00000000 has totlen 0xc != normal 0x0
CLEANMARKER node found at 0x00004000 has totlen 0xc != normal 0x0
CLEANMARKER node found at 0x00008000 has totlen 0xc != normal 0x0
CLEANMARKER node found at 0x0000c000 has totlen 0xc != normal 0x0
for every single block.

The Samsung nand chip we use is has 512 byte pages, 16 byte OOB area and
16 Kbyte erase blocks:
dev:    size   erasesize  name
mtd0: 00800000 00004000 "Boot Image"
mtd1: 01800000 00004000 "Root FS (JFFS2)"

I can successfully boot from the mtd0 partiion.  But when I create my
jffs2 image I use
mkfs.jffs2 -s 0x200 -e 0x4000 -o jffs2.image

and copy it,
cp jffs2.image /dev/mtd1

but when I mount the partion using
mount -t jffs2 /dev/mtdblock1 /mnt/nf

I get the above errors.  The fs seems to function okay, but this slew
of errors seems ominous.  (Same results if I mount the partition as my
root fs).

What is the --cleanmarker option?  Is it related to the oob size?  I
tried -c 16 and the error changed to "totlen 0x10 != normal 0x0".
Perhaps -c 0 would mask these errors, but before I do that I wanted
to see what exactly the cleanmarker meant.

I'm using jffs2 sources from Linux 2.6.11.  I see you latest distribution
is more recent.  Is it worth it for me to port your distribution
to my linux version, or am I doing something fundamentally ignorant?

Thanks in advance.

More information about the linux-mtd mailing list