Dear Weidong Sun,
I have a issue in my IMX53 SMD rev B board..
I am able to boot from SD card without any problem.. SD card had u-boot.bin, uImage and filesystem..
these are the u-boot env variables...
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
setenv loadaddr 0x70800000
setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk0p1 ip=none rootfstype=ext4'
setenv bootcmd_mmc 'run bootargs_base bootargs_mmc; mmc dev 0; mmc read ${loadaddr} 0x800 0x1800; bootm'
setenv bootcmd 'run bootcmd_mmc'
saveenv
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
But We do not want to use SD card in our end product. So I want to boot from iNand (SanDisk 8GB on board flash).
So far I am able to boot the u-boot and uImage from iNand flash. But the problem is... it gets struck at this below point whern mounting the root partition...
mxc_rtc mxc_rtc.0: setting system clock to 1970-01-01 00:01:10 UTC (70)
Root-NFS: No NFS server available, giving up.
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "mmcblk1p1" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00 256 mtdblock0 (driver?)
1f01 3840 mtdblock1 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[<800f4538>] (unwind_backtrace+0x0/0xf0) from [<80497a64>] (panic+0x6c/0xe0)
[<80497a64>] (panic+0x6c/0xe0) from [<80008ddc>] (mount_block_root+0x1cc/0x20c)
[<80008ddc>] (mount_block_root+0x1cc/0x20c) from [<80009028>] (prepare_namespace+0x11c/0x174)
[<80009028>] (prepare_namespace+0x11c/0x174) from [<800084a0>] (kernel_init+0x120/0x168)
[<800084a0>] (kernel_init+0x120/0x168) from [<800f09e0>] (kernel_thread_exit+0x0/0x8)
mmc2: Timeout waiting for hardware interrupt.
mxsdhci: ============== REGISTER DUMP ==============
mxsdhci: Sys addr: 0x00000000 | Version: 0x00001201
mxsdhci: Blk size: 0x00000000 | Blk cnt: 0x00000001
mxsdhci: Argument: 0x00010000 | Trn mode: 0x09090000
mxsdhci: Present: 0xff880008 | Host ctl: 0x00000121
mxsdhci: Clock: 0x008010ff
mxsdhci: Int stat: 0x00000000
mxsdhci: Int enab: 0x117f010f | Sig enab: 0x117f000f
mxsdhci: Caps: 0x07f30000
mxsdhci: ===========================================
And these are the u-boot environmental variables i set while booting from the iNAND flash.
setenv loadaddr 0x70800000
setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk1p1 ip=none rootfstype=ext4'
setenv bootcmd_mmc 'run bootargs_base bootargs_mmc; mmc dev 0; mmc read ${loadaddr} 0x800 0x1800; bootm'
setenv bootcmd 'run bootcmd_mmc'
saveenv
-----------------------------------------------------------------------------------------------------------------------------------------------------------
bootlog says VFS: Cannot open root device "mmcblk1p1" or unknown-block(2,0) which means iNAND device is not recognized.
But when I boot from SD card and when I do cat /proc/partitions i can see mmcblk1,mmcblk0 both the devices. but during the bootup kernel doesnt recognize the mmcblk1p1 partition why ??
This is how I have done :
1. first booted form SD card
2. then copied u-boot and uImage to mmcblk1 using dd command
3. made a partiton using fdisk /dev/mmcblk1
4. formatted the partition using mkfs.ext4 /dev/mmcblk1p1
5. then i copied the rootfs to mmcblk1p1 partiotion.
6. then set bootconfig to (SW26 and SW28) to eMMC boot.
7. then boot.
Thanks...
Winston