I am trying to bring up a custom board based on the AM1808. I'd like to boot this board from NAND flash. I currently have uBoot installed on the NAND and it is working properly to store and load my kernel image. The kernel appears to init properly, and I see it detect my NAND correctly. When it finishes its init code, I see it free the init memory and attempt to load the filesystem. My console is immediately flooded with messages like the following:
<4>Returned error for crccheck of ino #4796. Expect badness...
<4>mtd->read(0xbc bytes from 0xd95f44) returned ECC error
<4>mtd->read(0x44 bytes from 0xd95f44) returned ECC error
Unfortunately I do not have a network interface on this board, so I have to resort to uBoot to load my filesystem into NAND, unless there is some other option I am overlooking.
I have checked the following:
- mkfs.jffs2 was ran with the correct erase block size
- NAND partition boundaries are correct
- uBoot's ECC layout matches the ECC layout in my kernel
- attempted to load the filesystem with both 'nand write.jffs2' and 'nand write' commands
I created the filesystem image with the following command:
mkfs.jffs2 -p -rmydir -e128 -orootfs.jffs2
One small idiosyncrasy is that due to RAM limitations I need to load the filesystem in 8MiB chunks. After generating the JFFS2 image I split it with:
split -b 8M rootfs.jffs2
I then load it through uBoot with the following commands:
loady
-- first chunk transfers --
nand write.jffs2 0xc0700000 0x600000 0x800000
-- first chunk is written to NAND --
loady
-- second chunk transfers --
nand write.jffs2 0xc0700000 0xE00000 0x640000
-- second chunk is written to nand --
Does uBoot expect a full JFFS2 image when I run 'nand write.jffs2' ? Is there an alternate command that will allow me to transfer my image in chunks?
Thanks in advance for any reply.