Note that there are some explanatory texts on larger screens.

plurals
  1. POHow do I find ARM Linux entry point when it fails to uncompress?
    primarykey
    data
    text
    <p>I am trying to boot Linux via U-boot on a custom board with i.MX6 (CPU core is ARM Cortex A9)</p> <p>We seem to have ported Das U-Boot(2009.08) successfully. But booting Linux fails at the last U-Boot message: "Starting kernel ..."</p> <p>Here is my relevant environment:</p> <pre><code>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 </code></pre> <p>The boot output is</p> <pre><code>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 ... </code></pre> <p>When I objdump the kernel, at address 80008000, I see the entry point at arch/arm/kernel/head.S, and not arch/arm/boot/compressed/head.S</p> <p>What I see is, the kernel does not even decompress. I tried adding some register manipulation code to signal GPIOs in compressed/head.S with no response.</p> <p>My question is, how can I make sure U-Boot is calling the correct entry point?</p> <p>The exact same kernel binary successfully boots on Freescale's reference board, using the same U-Boot commands.</p> <p>EDIT: I added some traces to U-Boot. Just before calling the kernel, the pointer theKernel is 10008000 and not 10800000. Does this mean U-boot is jumping at the wrong location?</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload