Hi Michael,
By adding -mno-unaligned-access, kernel can start now.
I've another question, Does this option have some impact on performance?
Thanks~~
Yours Terry
-----Original Message----- From: Michael Hope [mailto:michael.hope@linaro.org] Sent: 2012年1月11日 9:16 To: Lv Terry-R65388 Cc: linaro-toolchain@lists.linaro.org Subject: Re: uImage built with pre-built linaro toolchain failed to start
On Tue, Jan 10, 2012 at 11:58 PM, Lv Terry-R65388 r65388@freescale.com wrote:
Hi,
I use pre-built version of linaro toolchain (got from http://people.linaro.org/~michaelh/incoming/binaries/) to build a uImage. The build succeeded, but the uImage couldn't start. The console hangs at:
Using FEC0 device TFTP from server 10.193.100.158; our IP address is 10.193.102.233 Filename 'uImage_linaro'. Load address: 0x70800000 Loading: ################################################################# ################################################################# ################################################################# ####################### done Bytes transferred = 3193292 (30b9cc hex) ## Booting kernel from Legacy Image at 70800000 ... Image Name: Linux-2.6.38-01026-gc9c8ead Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3193228 Bytes = 3 MB Load Address: 10008000 Entry Point: 10008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Does anyone meet this before?
How can I fix it?
Thanks~~
Hi Terry. Andy's covered the most likely causes. One thing to watch for is that Linaro GCC 2011.11 added unaligned access support for armv6k and later. This is fine for userspace but the kernel runs with the hardware unaligned access fault turned and this might cause the crash.
Try adding -mno-unaligned-access to your CFLAGS and see if that helps. See: http://lists.linaro.org/pipermail/linaro-android/2011-December/000030.html
and: http://comments.gmane.org/gmane.linux.ports.arm.kernel/138900
for more.
-- Michael