AnsweredAssumed Answered

mfgtool lacking FDT address for imx28evk 4.1.38 kernel causing load error

Question asked by Edward Tyrrell on Aug 2, 2017
Latest reply on Aug 2, 2017 by igorpadykov


I'm trying to load a 4.1.38 ( Krogoth ) kernel and dtb, fs via the mfgtool into an imx28 and am experiencing some issues with respect fdt address location in the ucl ( xml ) file. By default the ucl file doesn't use the fdt for the imx128evk, I'm also loading the kernel etc in nand.


This is what I boot with - standard uboot via Yocto -  "run nandboot"

nandboot=mtdparts default; run nandargs; nand read ${loadaddr} kernel 0x00400000; if test ${boot_fdt} = yes; then nand read ${fdt_addr} fdt 0x00080000; bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = no; then bootz; else echo "ERROR: Set boot_fdt to yes or no."; fi; fi



I get the following error

NAND read: device 0 offset 0x400000, size 0x400000 <==== fine, my zImage
4194304 bytes read: OK


NAND read: device 0 offset 0x800000, size 0x80000    <==== supposed to be my fdt? Should be 22K

 524288 bytes read: OK
Kernel image @ 0x42000000 [ 0x000000 - 0x3c5360 ]
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree


As you can see I'm trying to load the fdt via mfgtool at 0x80000 because that's the copy location within the run nandboot command. Q1 Is the default community Yocto dtb not a flattened device tree is this causing the problem?

Q2 If I use a uImage and not a zImage like I am, do I still have to use a fdt?


Help would be appreciated.