so I've several problems getting the IMX28EVK to boot Linux 2.6.35 from NAND. Freescale support told me to try UBIFS instead of jffs2 cause this should cause less problems.
What I did so far:
- tried jffs2.
- tried ubifs.
- tried several different NAND chips.
The problems I faced are all discussed quite often:
- jffs2 unable to mount mtdblock and use the rootfs.
- ubiattach errors after a reboot. and/or unable to use ubi0:rootfs volume
- NAND chips not recognized correctly
I've tried several chips from Hynix. At the moment I've a H27U8G8T2B here. The chip is already listed in nand_ids.c and nand_device_info.c.
I attached the output of dmesg, mtdinfo, the sources from drivers/mtd/nand/.
There are automatically 2 MTD partitions created and the second "gpmi-nfc-general-use" partition is further split into 4 pieces, each of 2 GB. As I read in the sourcecode this is due to a MTD limitation.
Now I can do a flash_eraseall /dev/mtd0 and flash the bootstream (no u-boot) on the NAND partition and there is NO problem to boot.
But as soon as I do a flash_eraseall on any of the other partitions (mtd1-5) then this will somehow delete my first partition with the bootlet as well, cause I receive a 0x80508002 (Unable to find bootblock e.g. NCB) error when I try to boot.
I wonder what's going wrong here and hope that somebody can help me.