Hi pingtoo.
Thanks for all your work on this problem.
Here are the results of testing using your debug enabled u-boot.
I have annotated the putty printout with notes of points of interest! Looking at the preview, I see the notes have wrapped and are below the line where I put them, but you should be able to work out what I was trying to point out!
Firstly for comparison reference here is a directory of my SDHC card root file system taken on my Linux box
You will see there is a uImage in /boot. ( There is a second copy in / , (this enables me to load uImage)
debsilch:/media/disk# ls -la
total 49196
drwxr-xr-x 21 root root 4096 2010-01-01 16:32 .
drwxr-xr-x 4 root root 4096 2010-01-05 09:47 ..
drwxr-xr-x 2 root root 4096 2009-12-03 12:37 bin
drwxr-xr-x 2 root root 4096 2010-01-01 15:51 boot
drwxr-xr-x 4 root root 4096 2010-01-01 16:36 dev
drwxr-xr-x 42 root root 4096 2010-01-01 16:36 etc
drwxr-xr-x 2 root root 4096 2009-08-31 04:45 home
drwxr-xr-x 11 root root 4096 2009-12-03 12:37 lib
drwx------ 2 root root 16384 2010-01-01 15:24 lost+found
drwxr-xr-x 2 root root 4096 2009-12-03 12:33 media
drwxr-xr-x 2 root root 4096 2009-08-31 04:45 mnt
drwxr-xr-x 2 root root 4096 2009-12-03 12:33 opt
-rw-r--r-- 1 root root 13840 2009-12-03 12:37 PackageList.txt
drwxr-xr-x 2 root root 4096 2009-08-31 04:45 proc
drwxr-xr-x 2 root root 4096 2009-12-03 12:33 root
-rw-r--r-- 1 root root 47891458 2010-01-01 15:26 rootfs.tar.gz
drwxr-xr-x 2 root root 4096 2009-12-03 12:37 sbin
drwxr-xr-x 2 root root 4096 2008-09-16 08:48 selinux
drwxr-xr-x 2 root root 4096 2009-12-03 12:33 srv
drwxr-xr-x 2 root root 4096 2008-08-12 15:26 sys
drwxrwxrwt 4 root root 4096 2010-01-01 16:36 tmp
-rwxr-xr-x 1 root root 2309636 2010-01-01 16:32 uImage
drwxr-xr-x 11 root root 4096 2009-12-03 12:36 usr
drwxr-xr-x 13 root root 4096 2009-12-03 12:33 var
debsilch:/media/disk# cd boot
debsilch:/media/disk/boot# ls -la
total 2268
drwxr-xr-x 2 root root 4096 2010-01-01 15:51 .
drwxr-xr-x 21 root root 4096 2010-01-01 16:32 ..
-rwxrwxrwx 1 root root 2309636 2010-01-01 15:51 uImage
debsilch:/media/disk/boot#
Here is the output from putty for your debug U-boot.
Hit any key to stop autoboot: 3 0
Marvell>> usb start]
(Re)start USB...
USB: scanning bus for devices... 2 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
Marvell>> fatload usb 0:1 0x1600000 /ext2-debug-u-boot.bin
reading /ext2-debug-u-boot.bin
..............................................
474076 bytes read
Marvell>> go 0x1600000
## Starting application at 0x01600000 ...
__ __ _ _
| \/ | __ _ _ ____ _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| | | | (_| | | \ V / __/ | |
|_| |_|\__,_|_| \_/ \___|_|_|
_ _ ____ _
| | | | | __ ) ___ ___ | |_
| | | |___| _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
\___/ |____/ \___/ \___/ \__|
** MARVELL BOARD: SHEEVA PLUG LE
U-Boot 1.1.4 (Jan 4 2010 - 21:45:00) Marvell version: 3.4.27
U-Boot code: 01600000 -> 0167FFF0 BSS: -> 016CFEE0
Soc: 88F6281 A0 (DDR2)
CPU running @ 1200Mhz L2 running @ 400Mhz
SysClock = 400Mhz , TClock = 200Mhz
DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6
DRAM CS[0] base 0x00000000 size 256MB
DRAM CS[1] base 0x10000000 size 256MB
DRAM Total size 512MB 16bit width
Addresses 24M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (24M - 23M): Done
NAND:512 MB
Flash: 0 kB
CPU : Marvell Feroceon (Rev 1)
Streaming disabled
Write allocate disabled
USB 0: host mode
PEX 0: interface detected no Link.
Net: egiga0 [PRIME]
Hit any key to stop autoboot: 3 0
Marvell>> version
U-Boot 1.1.4 (Jan 4 2010 - 21:45:00) Marvell version: 3.4.27 - pingtoo ext2 testing.01
<< YOUR DEBUG VERSION
Marvell>> mmcinit
SDHC found. Card desciption is:
Manufacturer: 0x27, OEM "PH"
Product name: "SD8GB", revision 2.0
<< KINGSTON 8GB TYPE 6 SDHC CARD
Serial number: 2953847158
Manufacturing date: 8/2009
CRC: 0x00, b0 = 0
Marvell>> ext2ls mmc 0
<<< SAME COMMAND A YOU USED IN YOUR EXAMPLE
<2, 0, 204>
revision_level = 0x1, inode_size = 0x100
ext2fs read inode 1
ext2fs read blockgroup
<8, 0, 32>
ext2fs read inode blkno 0 blkoff 1
<3864, 256, 128>
ext2fs_read_block 000003e3
<7960, 0, 8>
ext2fs_read_block 000003e3
<7960, 8, 1>
iterate >.<
ext2fs read inode 1
ext2fs read blockgroup
<8, 0, 32>
ext2fs read inode blkno 0 blkoff 1
<3864, 256, 128>
<DIR> 4096 .
ext2fs_read_block 000003e3
<7960, 12, 8>
ext2fs_read_block 000003e3
<7960, 20, 2>
iterate >..<
ext2fs read inode 1
ext2fs read blockgroup
<8, 0, 32>
ext2fs read inode blkno 0 blkoff 1
<3864, 256, 128>
<DIR> 4096 ..
ext2fs_read_block 000003e3
<7960, 24, 8>
ext2fs_read_block 000003e3
<7960, 32, 10>
iterate >lost+found<
ext2fs read inode 10
ext2fs read blockgroup
<8, 0, 32>
ext2fs read inode blkno 0 blkoff 10
<3869, 0, 128>
<DIR> 16384 lost+found
ext2fs_read_block 000003e3
<7960, 44, 8>
ext2fs_read_block 000003e3
<7960, 52, 13>
iterate >rootfs.tar.gz<
ext2fs read inode 11
ext2fs read blockgroup
<8, 0, 32>
ext2fs read inode blkno 0 blkoff 11
<3869, 256, 128>
47891458 rootfs.tar.gz
ext2fs_read_block 000003e3
<7960, 68, 8>
ext2fs_read_block 000003e3
<7960, 76, 15>
iterate >PackageList.txt<
ext2fs read inode 12
ext2fs read blockgroup
<8, 0, 32>
ext2fs read inode blkno 0 blkoff 12
<3870, 0, 128>
13840 PackageList.txt
ext2fs_read_block 000003e3
<7960, 92, 8>
ext2fs_read_block 000003e3
<7960, 100, 3>
iterate >bin<
ext2fs read inode 163840
ext2fs read blockgroup
<9, 128, 32>
ext2fs read inode blkno 0 blkoff 0
<5242896, 0, 128>
<DIR> 4096 bin
ext2fs_read_block 000003e3
<7960, 104, 8>
ext2fs_read_block 000003e3
<7960, 112, 4>
iterate >boot<
ext2fs read inode 393216
ext2fs read blockgroup
<11, 0, 32>
ext2fs read inode blkno 0 blkoff 0
<12582928, 0, 128>
<DIR> 4096 boot
ext2fs_read_block 000003e3
<7960, 116, 8>
ext2fs_read_block 000003e3
<7960, 124, 3>
iterate >dev<
ext2fs read inode 172032
ext2fs read blockgroup
<9, 160, 32>
ext2fs read inode blkno 0 blkoff 0
<5505040, 0, 128>
<DIR> 4096 dev
ext2fs_read_block 000003e3
<7960, 128, 8>
ext2fs_read_block 000003e3
<7960, 136, 3>
iterate >etc<
ext2fs read inode 409600
ext2fs read blockgroup
<11, 64, 32>
ext2fs read inode blkno 0 blkoff 0
<13107216, 0, 128>
<DIR> 0 etc
ext2fs_read_block 000003e3
<7960, 140, 8>
ext2fs_read_block 000003e3
<7960, 148, 4>
iterate >home<
ext2fs read inode 344064
ext2fs read blockgroup
<10, 320, 32>
ext2fs read inode blkno 0 blkoff 0
<11010064, 0, 128>
<DIR> 4096 home
ext2fs_read_block 000003e3
<7960, 152, 8>
ext2fs_read_block 000003e3
<7960, 160, 3>
iterate >lib<
ext2fs read inode 294912
ext2fs read blockgroup
<10, 128, 32>
ext2fs read inode blkno 0 blkoff 0
<9437200, 0, 128>
<DIR> 4096 lib
ext2fs_read_block 000003e3
<7960, 164, 8>
ext2fs_read_block 000003e3
<7960, 172, 5>
iterate >media<
ext2fs read inode 311296
ext2fs read blockgroup
<10, 192, 32>
ext2fs read inode blkno 0 blkoff 0
<9961488, 0, 128>
<DIR> 4096 media
ext2fs_read_block 000003e3
<7960, 180, 8>
ext2fs_read_block 000003e3
<7960, 188, 3>
iterate >mnt<
ext2fs read inode 16384
ext2fs read blockgroup
<8, 64, 32>
ext2fs read inode blkno 0 blkoff 0
<524304, 0, 128>
<DIR> 4096 mnt
ext2fs_read_block 000003e3
<7960, 192, 8>
ext2fs_read_block 000003e3
<7960, 200, 3>
iterate >opt<
ext2fs read inode 131072
ext2fs read blockgroup
<9, 0, 32>
ext2fs read inode blkno 0 blkoff 0
<4194320, 0, 128>
<DIR> 4096 opt
ext2fs_read_block 000003e3
<7960, 204, 8>
ext2fs_read_block 000003e3
<7960, 212, 4>
iterate >proc<
ext2fs read inode 81920
ext2fs read blockgroup
<8, 320, 32>
ext2fs read inode blkno 0 blkoff 0
<2621456, 0, 128>
<DIR> 4096 proc
ext2fs_read_block 000003e3
<7960, 216, 8>
ext2fs_read_block 000003e3
<7960, 224, 4>
iterate >root<
ext2fs read inode 49152
ext2fs read blockgroup
<8, 192, 32>
ext2fs read inode blkno 0 blkoff 0
<1572880, 0, 128>
<DIR> 4096 root
ext2fs_read_block 000003e3
<7960, 228, 8>
ext2fs_read_block 000003e3
<7960, 236, 4>
iterate >sbin<
ext2fs read inode 32768
ext2fs read blockgroup
<8, 128, 32>
ext2fs read inode blkno 0 blkoff 0
<1048592, 0, 128>
<DIR> 4096 sbin
ext2fs_read_block 000003e3
<7960, 240, 8>
ext2fs_read_block 000003e3
<7960, 248, 7>
iterate >selinux<
ext2fs read inode 98304
ext2fs read blockgroup
<8, 384, 32>
ext2fs read inode blkno 0 blkoff 0
<3145744, 0, 128>
<DIR> 4096 selinux
ext2fs_read_block 000003e3
<7960, 256, 8>
ext2fs_read_block 000003e3
<7960, 264, 3>
iterate >srv<
ext2fs read inode 335872
ext2fs read blockgroup
<10, 288, 32>
ext2fs read inode blkno 0 blkoff 0
<10747920, 0, 128>
<DIR> 0 srv
ext2fs_read_block 000003e3
<7960, 268, 8>
ext2fs_read_block 000003e3
<7960, 276, 3>
iterate >sys<
ext2fs read inode 303104
ext2fs read blockgroup
<10, 160, 32>
ext2fs read inode blkno 0 blkoff 0
<9699344, 0, 128>
<DIR> 0 sys
ext2fs_read_block 000003e3
<7960, 280, 8>
ext2fs_read_block 000003e3
<7960, 288, 3>
iterate >tmp<
ext2fs read inode 466944
ext2fs read blockgroup
<11, 288, 32>
ext2fs read inode blkno 0 blkoff 0
<14942224, 0, 128>
<DIR> 0 tmp
ext2fs_read_block 000003e3
<7960, 292, 8>
ext2fs_read_block 000003e3
<7960, 300, 3>
iterate >usr<
ext2fs read inode 155648
ext2fs read blockgroup
<9, 96, 32>
ext2fs read inode blkno 0 blkoff 0
<4980752, 0, 128>
<DIR> 4096 usr
ext2fs_read_block 000003e3
<7960, 304, 8>
ext2fs_read_block 000003e3
<7960, 312, 3>
iterate >var<
ext2fs read inode 319488
ext2fs read blockgroup
<10, 224, 32>
ext2fs read inode blkno 0 blkoff 0
<10223632, 0, 128>
<DIR> 0 var
ext2fs_read_block 000003e3
<7960, 316, 8>
ext2fs_read_block 000003e3
<7960, 324, 6>
iterate >uImage<
ext2fs read inode 13
ext2fs read blockgroup
<8, 0, 32>
ext2fs read inode blkno 0 blkoff 13
<3870, 256, 128>
2309636 uImage
Marvell>> ext2ls mmc 0:1 /boot << ATTEMPTING TO LIST THE CONTENTS OF /boot
<2, 0, 204>
revision_level = 0x1, inode_size = 0x100
ext2fs read inode 1
ext2fs read blockgroup
<8, 0, 32>
ext2fs read inode blkno 0 blkoff 1
<3864, 256, 128>
Iterate dir boot
ext2fs_read_block 000003e3
<7960, 0, 8>
ext2fs_read_block 000003e3
<7960, 8, 1>
iterate >.<
ext2fs_read_block 000003e3
<7960, 12, 8>
ext2fs_read_block 000003e3
<7960, 20, 2>
iterate >..<
ext2fs_read_block 000003e3
<7960, 24, 8>
ext2fs_read_block 000003e3
<7960, 32, 10>
iterate >lost+found<
ext2fs_read_block 000003e3
<7960, 44, 8>
ext2fs_read_block 000003e3
<7960, 52, 13>
iterate >rootfs.tar.gz<
ext2fs_read_block 000003e3
<7960, 68, 8>
ext2fs_read_block 000003e3
<7960, 76, 15>
iterate >PackageList.txt<
ext2fs_read_block 000003e3
<7960, 92, 8>
ext2fs_read_block 000003e3
<7960, 100, 3>
iterate >bin<
ext2fs_read_block 000003e3
<7960, 104, 8>
ext2fs_read_block 000003e3
<7960, 112, 4>
iterate >boot<
ext2fs read inode 393216
ext2fs read blockgroup
<11, 0, 32>
ext2fs read inode blkno 0 blkoff 0
<12582928, 0, 128>
ext2fs_read_block 00081000
<4227072, 0, 8>
ext2fs_read_block 00081000
<4227072, 8, 1>
iterate >.<
ext2fs read inode 131072
ext2fs read blockgroup
<9, 0, 32>
ext2fs read inode blkno 0 blkoff 0
<4194320, 0, 128>
<DIR> 4096 .
ext2fs_read_block 00081000
<4227072, 12, 8>
ext2fs_read_block 00081000
<4227072, 20, 2>
iterate >..<
ext2fs read inode 1
ext2fs read blockgroup
<8, 0, 32>
ext2fs read inode blkno 0 blkoff 1
<3864, 256, 128>
<DIR> 4096 ..
<< FAILURE NO LISTING OF /boot/uImage
Marvell>> <INTERRUPT>
Marvell>> ext2load mmc 0 0x800000 /boot/uImage
<<ATTEMPTING TO LOAD uImage FROM /boot
<2, 0, 204>
revision_level = 0x1, inode_size = 0x100
ext2fs read inode 1
ext2fs read blockgroup
<8, 0, 32>
ext2fs read inode blkno 0 blkoff 1
<3864, 256, 128>
Iterate dir boot
ext2fs_read_block 000003e3
<7960, 0, 8>
ext2fs_read_block 000003e3
<7960, 8, 1>
iterate >.<
ext2fs_read_block 000003e3
<7960, 12, 8>
ext2fs_read_block 000003e3
<7960, 20, 2>
iterate >..<
ext2fs_read_block 000003e3
<7960, 24, 8>
ext2fs_read_block 000003e3
<7960, 32, 10>
iterate >lost+found<
ext2fs_read_block 000003e3
<7960, 44, 8>
ext2fs_read_block 000003e3
<7960, 52, 13>
iterate >rootfs.tar.gz<
ext2fs_read_block 000003e3
<7960, 68, 8>
ext2fs_read_block 000003e3
<7960, 76, 15>
iterate >PackageList.txt<
ext2fs_read_block 000003e3
<7960, 92, 8>
ext2fs_read_block 000003e3
<7960, 100, 3>
iterate >bin<
ext2fs_read_block 000003e3
<7960, 104, 8>
ext2fs_read_block 000003e3
<7960, 112, 4>
iterate >boot<
Iterate dir uImage
ext2fs read inode 393216
ext2fs read blockgroup
<11, 0, 32>
ext2fs read inode blkno 0 blkoff 0
<12582928, 0, 128>
ext2fs_read_block 00081000
<4227072, 0, 8>
ext2fs_read_block 00081000
<4227072, 8, 1>
iterate >.<
ext2fs_read_block 00081000
<4227072, 12, 8>
ext2fs_read_block 00081000
<4227072, 20, 2>
iterate >..<
** Unable to read "/boot/uImage" from mmc 0:1 **
<< FAIURE CANNOT LOAD uIimage FROM /boot/
Marvell>>
This indicates exactly the "standard" way this card / u-boot fails. I hope this ouput is of use to you.
What would you like me to try next?
cheers
Patrick