I have am trying to boot a minimal armedslack (slackware on arm) image that contains kernel and relevant modules. I have launched qemu-system-arm on Windows host with this line:
qemu-system-arm.exe -drive file=slackware-arm-root,index= 0,media=disk -M versatilepb -m 256 -usb
but I got the error: "Kernel image must be specified".
So I downloaded a kernel and initrd image and added this :
-kernel zImage-versatile -initrd initrd-versatile.gz -append
and it works fine.
I have used qemu to emulate a x86 guest for years but this was my first attempt at emulating an ARM device. Why does qemu-system-arm need a kernel and a initrd? Is it possible to boot an ARM image directly? Is this a limitation of the ARM architecture or of the volatile board emulation or of qemu-system-arm altogether?