
The above runs a 32-bit kernel, if you were already running 64-bit Raspbian use the arm64 kernel instead and replace qemu-system-arm with qemu-system-aarch64. netdev tap,id=net0,ifname=tap0,script=no,downscript=no \ device virtio-scsi-device -device scsi-hd,drive=hd \ drive file=/rpi/root.img,format=raw,id=hd,if=none,media=disk \ Sudo dpkg -install linux-image-5.10.0-21-armmp-lpae_5.10.162-1_bĬopy out the kernel and initrd from /boot to the host, then run QEMU with something like this: qemu-system-arm \ First install a virtualization-capable kernel, Raspian doesn't provide one but the regular Debian ARM distro does: wget Getting it running is a bit more work but in the end not too complicated (more instructions here). It also supports arbitrary CPU counts and memory sizes. Buildroot Tutorial- Linux Kernel on QEMU Virtual board - Booting Linux and Running Linux Application - YouTube In this video tutorial, we are showing how to use Buildroot build system.

I've had better success using the virt model which emulates a generic ARM system, but uses virtualization, rather than device emulation, which leads to lower CPU utilization on the host and much better I/O performance. It's also locked to 4 CPUs and 1 GB of memory.

While the raspi3b model works well, it is quite inefficient and its network speeds are really low because it emulates the USB-Ethernet adapter.
