performance: 0.713 device: 0.712 KVM: 0.706 boot: 0.654 graphic: 0.616 vnc: 0.603 PID: 0.592 semantic: 0.532 other: 0.487 permissions: 0.481 network: 0.443 socket: 0.430 debug: 0.420 files: 0.401 detect error when kernel and initrd images exceed ram size I was unable to figure out why my VM wasn't booting when I added a "-initrd" image. I would launch qemu and get no output, and no error message, it would just spin. Turns out my initrd image was around 270 MB but I wasn't giving an explicit ram size to qemu. I was told the default memory size was around 120 MB so this was definitely a problem. I think that the qemu "pseudo-bootloader" should detect when the kernel image and initrd image sizes exceed the size of ram and print a nice error to the user, something like: Error: the total size of the given boot images (342M) exceeds the size allocated for memory (120M) We could also do a better job of identifying when different things (initrd, kernel, dtb) overlap in memory. As of the 4.1 release we should now do a better job of identifying overlaps between initrd, kernel, end of ram, etc, for the built-in arm bootloader.