We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Observer chenhao_7
Registered: ‎12-11-2017

How to use QEMU with Flattened Image Tree uImage?

 Hi all,


I am currently working on emulating ZYNQ with QEMU. According to this wiki page, I need to prepare a kernel image file (uImage), a device tree blob (*.dtb), and an initrd image file (uramdisk.image.gz). Although the only file I got is a Flattened Image Tree uImage file (image.ub), I tried this tutorial and split it into those three files with dumpimage. After that, I tried to run the emulation with following command.

$ ./aarch64-softmmu/qemu-system-aarch64 \
    -M arm-generic-fdt-7series -machine linux=on \
    -serial /dev/null -serial mon:stdio -display none \
    -kernel uImage -dtb system.dtb --initrd uramdisk.image.gz


The emulation looked well but it seemed to stop at the I2C driver and refuse to go any further. Here is a screenshot of the Linux booting log.



Is it possible that I messed up something during splitting the image.ub file? Or is there something wrong with the QEMU emulator?


Thanks for any suggestions.


P.S. Here are the commands I used to split the image.ub file. 

dumpimage -i image.ub -T flat_dt -p 0 uImage
dumpimage -i image.ub -T flat_dt -p 1 system.dtb
dumpimage -i image.ub -T flat_dt -p 2 uramdisk.image.gz

 Also here is the dump information of image.ub file.


0 Kudos