My goal here is to load a custom kernel and initramfs into the memory of the wink hub 1 based on imx28 dev board and boot it using the bootm command from u-boot shell.

So, I downloaded the u-boot 2014.01 source code and built it from scratch using the patch provided here then I downloaded the latest buildroot and build the kernel and root file system along with initramfs for the imx28 board.

Using JTAG I'm able to load the u-boot at 0x40000100, kernel at 0x42000000 and initramfs at 0x42300000 but when I pass these addresses into the u-boot shell and hit bootm the kernel hangs after decompressing and nothing happens...

I thought there might be the problem with the kernel but even when I pass just the kernel address without loading the custom one ( i.e. loading the kernel present in the nand memory ) in the RAM still the kernel hangs and does not boot it only works well with the boot (bootcmd) command.

This is the output when trying to load the kernel manually from a memory address nothing happens after decompression.

=> bootm 42000000 42300000 
## Booting kernel from Legacy Image at 42000000 ...
   Image Name:   Linux-
   Created:      2014-04-30   3:15:35 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1928460 Bytes = 1.8 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 42300000 ...
   Image Name:   Root Filesystem
   Created:      2019-01-12  14:23:44 UTC
   Image Type:   ARM Linux RAMDisk Image (uncompressed)
   Data Size:    893637 Bytes = 872.7 KiB
   Load Address: 40800000
   Entry Point:  40800000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

But on the u-boot shell just after hitting boot command it boots and everything works fine.

I don't know what I'm doing wrong I've checked the /include/configs/mx28evk.h for the kernel uImage, initramfs & fdt addresses and everything seems right.

1 Answer 1


I've figured out what the problem was.

I had enabled low level debugging and had redirected all printk's to Embedded ICE UART port so it would not show any output on the UART console.

[ ] Kernel low-level debugging functions 
      [ ] Early printk (NEW)
      [ ] Kernel low-level debugging via EmbeddedICE DCC channel (NEW)

keep it unselected as above.

Regards, Amit.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .