This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How to merge dtb file to kernel?

I want to merge the zImage and dtb files into a single file for writing to SPI flash for easy booting. I have enabled the option, CONFIG_ARM_APPENDED_DTB=y in the kernel config.

After compiling. I merge two files by "cat zImage xxx.dtb > zImage_dtb".

Under u-boot, I types:

setenv autoload no

setenv boot_fdt no

dhcp

run netargs (this set the bootargs)

tftp 0x80060000 zImage_dtb (get from the tftp server)

bootz 0x80060000

After this, the kernel crash, it shows

Kernel image @ 0x80060000 [ 0x000000 - 0x2c13a0 ]
data abort
pc : [<83f624ec>]          lr : [<83f626cf>]
reloc pc : [<802104ec>]    lr : [<802106cf>]
sp : 83f01cd8  ip : 803213a0     fp : 00000002
r10: 00000002  r9 : 83f01ed8     r8 : 83f9fb9c
r7 : 83f9fba0  r6 : 83f05c34     r5 : 00000001  r4 : 83f9fb04
r3 : 00000000  r2 : 00000000     r1 : 83f05c34  r0 : 00000000
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32
Resetting CPU ...

What is the correct procedure for this? Are there something need to be enabled in the u-boot code?

Regards,

Colman