[U-Boot] NAND flash filesystems broken

Aaron Williams Aaron.Williams at cavium.com
Thu Sep 29 02:53:21 CEST 2011


Hi,

I am working on a bootloader with NAND support but have been running into 
problems with the various flash filesystems on a board with a 4GB NAND device.

We are using Linux 2.6.32-27 with the latest YAFFS2 filesystem installed. 
Additionally I have the UBIFS tools version 1.1 (latest) installed.

While both UBIFS and YAFFS2 seem to work fine in Linux, both filesystems seem 
to have problems in U-Boot. We are currently using U-Boot 2011.03 but with all 
of the latest patches applied to the NAND support and all of the filesystems.

We are using the standard U-Boot software ECC support for the NAND flash. We 
have our own hardware ECC format but we only use this for our stage 1 NAND 
bootloader and for storing U-Boot at the beginning of the NAND device.

I have enabled CONFIG_MTD_NAND_ECC_YAFFS and CONFIG_MTD_NAND_ECC_JFFS2 since 
JFFS2, YAFFS2 and UBIFS are all enabled.

The YAFFS2 code in U-Boot seems to be rather broken. I had to disable all of 
the list support in devextras.h, for example, to get it to compile. It also 
looks to be incomplete since there is no command-line help for any of the 
commands. YAFFS2 also appears to not to support MTD partitioning since it 
looks like it only works with a bare NAND device.

UBIFS appears to be out of date and is incompatible with what is written by 
the Linux kernel. I am unable to mount any UBIFS volumes created by Linux.

JFFS2 also is problematic. First of all it does not scale, but additionally it 
seems to have other problems. For example, if in Linux a file is deleted and 
then re-added (i.e. updating a Linux kernel) then the file is displayed twice 
and U-Boot appears to read the first copy of the file.

I'm wondering if anyone else has experienced this problems or has any 
suggestions? At this point it looks like I will need to port a more recent 
version of UBIFS or YAFFS2 to U-Boot. With YAFFS2 I would also need to make it 
work with the MTD partitioning.

Any suggestions or comments are welcome.

-Aaron
-- 
Aaron Williams <Aaron.Williams at cavium.com>
 (408) 943-7198


More information about the U-Boot mailing list