Jffs2 – Digi 9P 9360/9750 User Manual

Page 57

Advertising
background image

5 7

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

Another message which could be printed on the console is

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

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

instead

Empty flash at 0xXXXXXXXX ends at 0xXXXXXXXX

Advertising