mtd nand issue
forriyaz at yahoo.com
Mon Jan 26 08:08:29 EST 2009
Hi I use a 2K page size 1 GB nand chip on a mx31 ads basd board. At redboot level, read and write happpen perfectly. Even in kernel, flash_eraseall is fine. Then i did nanddump -p and saw 0xff on all addresses. So i believe the nand driver is fine.I am trying to use a nand partition as my rootfilesystem. I have partioned nand into 4 mtd blocks. 60 MB for the first 3 and and the remaining 820 in the 4th block. I created a 8 MB jffs2 file system named rootfs.jffs2 with the proper erase size. Wrote to mtd block 6 usingnandwrite /dev/mtd/6 rootfs.jffs2When linux mounted this block, i went in fine for the first time. But subsequent booting returned lot of CRC errors until the file system was hopelessly currupted. Any help appreciated.The messages are likemtd->read:0x100 bytes from block 0 CRC error.I read somewhere that the factory information about bad blocks is stores in first block and if erased will lead to errors. Pleas elaborate if you know.Please
answer my queries so i understand things a litle better.1) Is it ok to flash a 8 MB image on a 60 MB partion. Are the errors because the remaining partition doesnt match?2) If i specify "root=/dev/mtdblock6" while booting, does the kernel see only mtd7 as available space or will mtd5 and mtd7 and mtd8 will also be available as user space.3)What does nandwrite -a -p mean?
More information about the linux-mtd