
Hi "conn intel" and Jerry,
Currently I am using following command to load kernel image from flash to ram,
bootcmd=nand read.jffs2 0x30007FC0 0x80000 0x153000;bootm 0x30007FC0
These are actually two commands - the first one copies data from NAND flash into RAM, but although the command name has a "jffs2" in it, this really has nothing to do with the JFFS2 filesystem. The command does not parse the NAND storage as a filesystem, but simply respects the out of band bad block markers in the NAND. See doc/README.nand:
nand read.jffs2 addr ofs|partition size Like `read', but the data for blocks that are marked bad is read as 0xff. This gives a readable JFFS2 image that can be processed by the JFFS2 commands such as ls and fsload.
In the "bootm" it seems like you actually use that data transferred as a Linux kernel. (How do you know the offset 0x80000 is correct btw.?) This kernel uses whatever is /dev/mtdblock2 as its rootfilesystem, which is jffs2. So the Linux kernel will need to parse JFFS2 and here the comments from the thread Jerry mentioned apply, but the "nand read.jffs2" does not suffer from any JFFS2 parsing.
If this is to slow for you, you have to at least tell us the platform you're working on and then maybe the maintainer of this platform can tell you whether he sees a chance to improve on pure nand read performance.
Cheers Detlev