[U-Boot] u-boot can boot Linux in zImage format while not in uImage format

Hi All, I am meeting a strange issue. The u-boot can boot device tree supported Linux in zImage format and can not boot in uImage format. The detail information as following:
1. set the bootargs 2. tftp 0x21000000 dtb, and tftp 0x22000000 uImage, then bootm 0x22000000 - 0x21000000, it can not boot up. Stop at "Starting kernel..." 3. tftp 0x21000000 dtb, and tftp 0x22000000 zImage, then bootz 0x22000000 - 0x21000000, it boot successfully.
I check the memory usage, no overlap. I try other memory address, won't fix. I check all parameters pass to kernel is right.
Any possible reason will cause this issue?
Best Regards, Bo Shen

On Wed, Jun 26, 2013 at 11:47 PM, Bo Shen voice.shen@atmel.com wrote:
Hi All, I am meeting a strange issue. The u-boot can boot device tree supported Linux in zImage format and can not boot in uImage format. The detail information as following:
- set the bootargs
- tftp 0x21000000 dtb, and tftp 0x22000000 uImage, then bootm 0x22000000
- 0x21000000, it can not boot up. Stop at "Starting kernel..."
Maybe your uImage was generated with the incorrect LOADADDR?

Hi Fabio,
On 06/27/2013 11:19 AM, Fabio Estevam wrote:
On Wed, Jun 26, 2013 at 11:47 PM, Bo Shen voice.shen@atmel.com wrote:
Hi All, I am meeting a strange issue. The u-boot can boot device tree supported Linux in zImage format and can not boot in uImage format. The detail information as following:
- set the bootargs
- tftp 0x21000000 dtb, and tftp 0x22000000 uImage, then bootm 0x22000000
- 0x21000000, it can not boot up. Stop at "Starting kernel..."
Maybe your uImage was generated with the incorrect LOADADDR?
The uImage is ok, test with bootstrap boot it directly.
Add log with debug information ---8>--- ## Booting kernel from Legacy Image at 22000000 ... Image Name: Linux-3.10.0-rc7+ Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1514568 Bytes = 1.4 MiB Load Address: 20008000 Entry Point: 20008000 Verifying Checksum ... OK kernel data at 0x22000040, len = 0x00171c48 (1514568) ## Skipping init Ramdisk ## No init Ramdisk ramdisk start = 0x00000000, ramdisk end = 0x00000000 * fdt: cmdline image address = 0x21000000 ## Checking for 'FDT'/'FDT Image' at 21000000 * fdt: raw FDT blob ## Flattened Device Tree blob at 21000000 Booting using the fdt blob at 0x21000000 of_flat_tree at 0x21000000 size 0x000024bf Initial value for argc=3 Final value for argc=3 Loading Kernel Image ... OK OK kernel loaded at 0x20008000, end = 0x20179c48 using: FDT ## initrd_high = 0xffffffff, copy_to_ram = 1 ramdisk load start = 0x00000000, ramdisk load end = 0x00000000 ## device tree at 21000000 ... 210024be (len=21695 [0x54BF]) Loading Device Tree to 27b2c000, end 27b314be ... OK Initial value for argc=3 Final value for argc=3 No alias for ethernet0 Using machid 0xffffffff from environment ## Transferring control to Linux (at address 20008000)...
Starting kernel ... ---<8---
Best Regards, Bo Shen

Dear Bo Shen,
In message 51CBB1C0.2090701@atmel.com you wrote:
## Booting kernel from Legacy Image at 22000000 ... Image Name: Linux-3.10.0-rc7+ Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1514568 Bytes = 1.4 MiB
Are you sure this is a working Linux kernel image? An uncomporessed size of 1.4 MiB seems a bit too small to me?
Best regards,
Wolfgang Denk

Hi Wolfgang Denk,
On 06/27/2013 01:39 PM, Wolfgang Denk wrote:
Dear Bo Shen,
In message 51CBB1C0.2090701@atmel.com you wrote:
## Booting kernel from Legacy Image at 22000000 ... Image Name: Linux-3.10.0-rc7+ Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1514568 Bytes = 1.4 MiB
Are you sure this is a working Linux kernel image? An uncomporessed size of 1.4 MiB seems a bit too small to me?
Sure, this is a working Linux kernel image.
As to test u-boot, I remove most driver from Linux kernel. Then, for many times tftp, it will save me amount of time.
Best regards,
Wolfgang Denk
Best Regards, Bo Shen
participants (3)
-
Bo Shen
-
Fabio Estevam
-
Wolfgang Denk