I am working to get linux to boot from NAND device, but the board boots correctly only first time after flashing. On reset it gives an error code of 0x80508002. When I took a hexdump of the boot partition just after flashing and after first boot, I observed that FCB and DBBT blocks are corrupted by some UBI info. I don;t understand why is that happening. I have attached the hexdump of first 1MB of boot partition before and after first boot.
I am using a UBI rootfs image to be written on to the mtd1 partition using nandwrite utility througfh Mfgtool. Attached is the ucl.xml file.
following are the commands that i am using to create ubi image file of rootfs.
mkfs.ubifs -m 2048 -e 126976 -c 2048 -r ./rootfs.tmp -o rootfs.ubi.img
ubinize -p 128KiB -m 2048 -s 2048 -o ubi.img cfg.ini
contents of cfg.ini
vol_id = 0
My kernel command line is
noinitrd console=ttyAM0,115200 ubi.mtd=1 root=ubi0:rootfs0 rootfstype=ubifs rw gpmi
My imx28EVK has Micron's MT29F2G08ABAEAWP which is 2GB capacity. I have created 3 partitions in it by modifying the gpmi-nfc-mil.c source.
mtd0 - 20MB -- boot partition
mtd1 - 256MB -- rootfs
mtd2 - rest of memory -- no specific use
I have attached the complete log of flashing and booting from NAND for reference. I could not make out what could be the issue. Does anyone have any clue on what's wrong with my procedure. Any help or clue would greatly help me.
Original Attachment has been moved to: 308-Attachments.zip