R o o t F i l e S y s t e m T y p e s

JFFS2

JFFS is a log-structured journaling flash file system which was designed to be used on Flash devices in embedded systems. It was originally developed for the 2.0 kernel by Axis Communications. JFFS2 is an improved version of JFFS which includes compression and improved read/write access.

Find more about JFFS2 at http://sourceware.org/jffs2

NAND chips are not guaranteed to be error free and most chips have bad blocks. Therefore, U-Boot as well as Linux has to know how to handle these bad blocks. Both use JFFS2 for this purpose.

U-boot provides the commands "nand read.jffs2.s" and "nand write.jffs2". Both commands are skipping bad blocks. Therefore, there must be some space left for reserve blocks. In U-Boot you can run the "nand bad" command for a summary of known bad blocks on the flash device.

In Linux a JFFS2 driver for NOR and NAND chips can be used.

If a jffs2 image should be copied to a partition it must be ensured that the image was created with the correct erase size of the used chip. Otherwise Linux will print error messages on the screen.

To reduce memory allocation Linux uses a virtual erase size if the physical erase size of the chip is to small. A message like the one below may be printed on the console

jffs2: Erase block size too small (XXKiB. Using virtual blocks size(XXKiB) instead

Another message which could be printed on the console is

Empty flash at 0xXXXXXXXX ends at 0xXXXXXXXX

This message doesn't indicate a problem. Instead, it is printed if a block of data is partially written. These messages will disappear when the garbage collection restructures the remaining space

5 7

Page 57
Image 57
Digi 9P 9360/9750 manual JFFS2