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-188.8.131.52-flex-dvt 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.