Booting an AArch64 QEMU guest inside an AArch64 guest running on AArch64 host ======================================================================== (1) Use Gerd Hoffman's repo for firmware: $ cd /etc/yum.repos.d $ sudo wget https://www.kraxel.org/repos/firmware.repo $ sudo dnf install edk2.git-aarch64 $ rpm -ql edk2.git-aarch64 /usr/share/doc/edk2.git-aarch64-0 /usr/share/doc/edk2.git-aarch64-0/License.txt /usr/share/edk2.git /usr/share/edk2.git/aarch64 /usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw /usr/share/edk2.git/aarch64/QEMU_EFI.fd /usr/share/edk2.git/aarch64/vars-template-pflash.raw (2) Create an AArch64 Fedora 21 disk image: $ virt-builder fedora-21 -o f21vm.qcow2 \ --root-password password:123456 --format qcow2 (3) Get the NVRAM from here: $ wget http://libguestfs.org/download/builder/fedora-21-aarch64-nvram.xz $ unxz fedora-21-aarch64-nvram.xz (4) Boot the below QEMU CLI: $ qemu-system-aarch64 \ -nodefconfig -nodefaults -display none \ -M virt -cpu cortex-a57 -machine accel=tcg -m 2048 \ -drive if=pflash,format=raw,file=/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw,readonly \ -drive if=pflash,format=raw,file=./fedora-21-aarch64-nvram \ -drive file=f21vm.qcow2,format=qcow2,if=none,id=hd0 \ -device virtio-blk-device,drive=hd0 \ -serial stdio |& tee stderr-qemu-aarch64-boot-l2.txt Result of the serial console output, it fails with: . . . ESR : EC 0x00 IL 0x0 ISS 0x00000000 ASSERT /var/lib/jenkins/jobs/edk2/workspace/rpmbuild/rpm/BUILD/edk2.git/ArmPkg/Library/DefaultExceptionHandlerLib/AArch64/DefaultExceptionHandler.c(186): ((BOOLEAN)(0==1)) Complete output here: https://kashyapc.fedorapeople.org/arm/stderr-qemu-aarch64-failed-guest-boot.txt