FAQs
RFS supports OneNAND™,Flex-OneNAND™ and moviNAND.
JFFS2 is a log-structured file system and does not store meta data such as FAT table or Directory entry. Instead, Meta data is written in the spare area of each page, so the entire data must be scanned to detect the Meta data while mount procedure. It causes a slow boot time. However, Linux RFS only finds the Meta data without scanning the entire data. Therefore RFS mount time is half of JFFS2 mount time.
Second, IO speed of RFS is faster than one of JFFS2. In linux 2.6.15, RFS is twice faster than JFFS2.
Third, RFS supports more user-compliant tools than JFFS2. RFS supports tools for analysis/debugging of OneNAND image both in target and in host side.
RFS package includes two parts - bootloader and kernel modules.
The former includes Tiny-Bml that is a GPL code.
Therefore you can open this code.
The latter includes three kinds of modules ; Tiny-bml, RFS and XSR. Tiny-bml is a GPL code that should be statically linked into kernel and root file system that is stored into OneNAND can be initialized using this.
Both XSR and RFS are non-GPL codes that should be dynamically linked into kernel using insmod after root file system was initialized.
In conclusion, Tiny-Bml that is included in both U-boot and Kernel is an open source code. And both XSR and RFS should be built as a module not to open.
Linux RFS is guaranteed in both 2.4.20 and 2.6.15. To use RFS in 2.6.18 above, user should set the IO scheduler as a AS scheduler.
No. RFS can work with block device drivers such as mmc host driver or XSR that are implemented using Linux Block Device Driver APIs. Because Linux MTD isn't implemented using Block Device Driver APIs, RFS cannot work with MTD.
In RFS 1.2.3, ROM size should be 300KB and RAM size should be 580 KB. RAM size can vary accoring to XSR configuration.
RFS supports FAT16/32 and 512B/1KB/2KB/4KB cluster size and more.
We recommend you to use the cluster size greater than OneNAND™ page size.
RFS cannot be used as a root file system because RFS is FAT-compliant. FAT doesn't support device files.
Therefore we recommend you to use cramfs as a root file system and to use rfs as a RW file system.
RFS guarantees stability at both FTL and file system levels. In FTL level, it can write the new data elsewhere while preserving current data. If power-off occurs suddenly, then the newly updated data becomes invalid (checksum and ECC isn’t correct), and the data is ignored.
In file system level, only one operation log is maintained and stored in a special file named ‘$RFS_LOG.LO$’ in the root directory. If power failure occurs before the execution of the operation, the error recovery mechanism is initiated after rebooting based on the last operation log.




