01-12-2018 01:48 PM
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.