arm: 0.898 architecture: 0.741 performance: 0.713 device: 0.712 KVM: 0.706 boot: 0.654 kernel: 0.650 risc-v: 0.622 hypervisor: 0.619 graphic: 0.616 vnc: 0.603 PID: 0.592 i386: 0.557 semantic: 0.532 register: 0.515 VMM: 0.513 mistranslation: 0.494 x86: 0.482 permissions: 0.481 user-level: 0.479 ppc: 0.476 network: 0.443 socket: 0.430 TCG: 0.427 debug: 0.420 peripherals: 0.401 files: 0.401 virtual: 0.397 assembly: 0.304 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.