¿Cómo encuentro el punto de entrada de ARM Linux cuando falla la descompresión?

Estoy intentando iniciar Linux a través de U-boot en una placa personalizada con i.MX6 (el núcleo de la CPU es ARM Cortex A9)

Parece que hemos portado Das U-Boot (2009.08) con éxito. Pero el arranque de Linux falla en el último mensaje de U-Boot: "Iniciando kernel ..."

Aquí está mi ambiente relevante:

bootargs=console=ttymxc1,115200 vmalloc=400M root=/dev/mmcblk0p1 rootwait consoleblank=0 earlyprintk video=mxcfb0:dev=lcd,LCD-ORTUS,if=RGB24 video=mxcfb1:dev=hdmi,1280x720M@60,if=RGB24 calibration tsdev=tsc2004 fbmem=10M,28M
bootcmd=ext2load mmc 0:1 10800000 /boot/uImage ; bootm 10800000

La salida de arranque es

Loading file "/boot/uImage" from mmc device 0:1 (xxa1)  
4043552 bytes read  
## Booting kernel from Legacy Image at 10800000 ...  
   Image Name:   Linux-3.0.35  
   Image Type:   ARM Linux Kernel Image (uncompressed)  
   Data Size:    4043488 Bytes =  3.9 MB  
   Load Address: 10008000  
   Entry Point:  10008000  
   Verifying Checksum ... OK  
   Loading Kernel Image ... OK  
OK  

Starting kernel ...  

Cuando objdump el kernel, en la dirección 80008000, veo el punto de entrada en arch / arm / kernel / head.S, y no arch / arm / boot / compress / head.S

Lo que veo es que el núcleo ni siquiera se descomprime. Intenté agregar algún código de manipulación de registro para indicar GPIO en comprimido / head.S sin respuesta.

Mi pregunta es, ¿cómo puedo asegurarme de que U-Boot está llamando al punto de entrada correcto?

El mismo binario del núcleo exactamente arranca con éxito en el tablero de referencia de Freescale, usando los mismos comandos de U-Boot.

EDITAR: he añadido algunos rastros a U-Boot. Justo antes de llamar al kernel, el puntero del kernel es 10008000 y no 10800000. ¿Significa esto que U-boot está saltando en la ubicación incorrecta?