Can you really write a jffs2 image with nandwrite?
pgrayson at realmsys.com
Mon Feb 28 21:14:07 EST 2005
I am using a PowerPC 405 based Linux system running 2.6.10 kernel with
CVS head of mtd patched in. The board has a 256MB Samsung NAND flash
part with 2048 byte page size, 64 spare bytes per page, and 64 pages per
eraseblock (128kB eraseblock).
I want to use jffs2 partitions on this flash part. I can mount an empty
partition with jffs2 and that works well, but I have been unable to
weild mkfs.jffs2 and nandwrite to successfully write jffs2 images to
>From reading the mkfs.jffs2 code, it seems that mkfs.jffs2 has no
concept of out-of-bounds data. Consequently, it appears that the
nandwrite expects to find out-of-bounds data immediately after the in-
bounds data for every page. I have looked at the bits of the jffs2 image
produced by mkfs.jffs2 and I can see that it does not really produce out
of bounds data.
Below is the mkfs.jffs2 command line I am using. I have tried many other
combinations of options, but they do not yield appreciably different
--compression-mode none \
When I try using this image with "nandwrite -j", the image appears to be
written successfully, but when I try to mount the new filesystem, mount
fails with the following error message:
mount: Mounting /dev/mtdblock0 on /mnt failed: Invalid argument
If I try to use "nandwrite -j -o", nandwrite complains about the image
not being aligned:
Input file is not page aligned: Success
Data did not fit into device, due to bad blocks
In this case, nandwrite bails out early and does not write anything to
Is there something obvious I am missing? I have read the FAQ at:
so I know that the working theory is that this should work, but it is
not working for me. Has anyone else had a similar experience?
Thanks in advance for any help you can offer.
More information about the linux-mtd