I am trying to create two VMs from alpine Linux image in QEMU. One for X86 and for ARM64.
For X86
qemu-system-x86_64
-m 512
-hda alpine_x86.qcow2
-cdrom path/to/img.iso
-boot d
For ARM64
qemu-system-aarch64
-M virt
-cpu cortex-a57
-m 2048
-hda alpine_arm.qcow2
-cdrom path/to/img.iso
-drive if=pflash,format=raw,file=flash.img <--------- ?
-nographic
Comparing the two flows, specifying -cdrom in X86 flow is enough. But in the ARM64 case, I need to specify QEMU_EFI pflash.
I checked the ARM64 image using file
and it says bootable.
file alpine-standard-3.20.1-aarch64.iso
alpine-standard-3.20.1-aarch64.iso: ISO 9660 CD-ROM filesystem data (DOS/MBR boot sector) 'alpine-std 3.20.1 aarch64' (bootable)
However, if I do not specify the pflash, QEMU ARM VM does not come up. Why is that?