Hello all,
I'm looking into options for a file system to use on a 32MB NAND flash. JFFS2 as it currently stands has to go away, as the mounting takes over 12 seconds on this small ARM system, which is getting increasingly unacceptable. On the other hand, a read-only file system (combined with a small tmpfs RAM disk) is no problem.
cramfs works very nicely on the /dev/mtdblockX device and does all I want. But of course cramfs is usable only as long as the NAND has no bad blocks since cramfs itself is not flash-aware. Throwing away the hardware whenever there's a block error would generate unacceptable levels of waste and repair costs in this project.
I'm currently still using a patched kernel 2.6.16.33 (with updated MTD/ JFFS2 and a bunch of in-house patches) but switching to a newer one is not ruled out.
The file system is currently being written to NAND by U-BOOT.
Currently I see the following options:
1.) Using some kind of patched, flash-aware crams / squashfs / romfs or similar, if it exists. Does it?2.) Running cramfs or another read-only fs on top of UBI (either by switching kernels or by patching UBI into my current kernel).
3.) Using some kind of general-purpose Flash Translation Layer, if one exists that will mount decidedly faster than JFFS2.I'd like to ask:
1.) if anybody around here has solved this sort of problem in some kind of satisfactory way.2.) if anybody has had either good or bad experiences with UBI. One very important question would be, is the mount time for UBI really lower than for JFFS2?
3.) if UBI works together in some sort of usable way with U-BOOT. Especially, is there a reasonably simple way to make UBI images and write them to flash with U-BOOT.Thanks for any help!
-- Linards Ticmanis