-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 > On Thu, Dec 04, 2025 at 10:00:39AM +0000, Peter Maydell wrote: > > [restored various CCs as I think most of the people in the > > conversation aren't on qemu-discuss] > > thanks! > > > If people are interested in doing this work, on the QEMU side > > we would be happy to review and accept the patches. The > > main reason the raspi machines in QEMU are missing functionality > > etc is that nobody is currently actively working on them. > > [...] > > We are (yet) far from being able to do that, but... >
It is possible to boot recent Raspbian images, with a couple small fixes for things that are rough around the edges. You might be interested in this project I've been working on which helps to get a working QEMU-bootable baseline for Raspbian, for both raspi3b and raspi4 virtualized machines. It should be transferrable to Debian aarch64, with caveats that the kernel config + patches may differ between vanilla Raspbian and Debian. https://github.com/trinitronx/qemu-raspbian The project is a simple Makefile and helper shell scripts. Simple use: 1. Install QEMU + dependencies (listed in README) 2. Run: make prep-image 3. Run: make raspi3 OR make raspi4 It's setup to make the process of QEMU qcow2 image creation, kernel + dtb extraction, and devicetree patching (to re-enable the USB controller on raspi4) easier. For networking support, use the provided "default" QEMU / libvirt network XML (or modify to make your own). To start the network for the VMs, you'll likely first need to run: virsh net-define / virsh net-start Known issues are: - - QEMU raspi* machines do not support PCI bus -> no PCI devices allowed (use USB as workaround) - - QEMU raspi* machines do not have a virtio / MMIO bus -> no MMIO "virtio-*-device" support So, while it's possible to build a Linux kernel with VIRTIO_* kernel build config options, unfortunately QEMU needs patches to enable the raspi* machines to be able to use the virtio-* devices. Likewise for PCI devices, as mentioned before in this mailing list thread. -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEm9bHrs1mCJLPb6GgJomkWbFWjQkFAmk7XYAACgkQJomkWbFW jQkeLBAA1SC9aATQL5lTNqvGN+pDkUu0s50nY9iz+031D3cKSV6wAS3KINNhd3fy Y6KrFgXmUgJNyLRJzYMlzmOTXy5VFsldHJLGR+yavRwn+Hcx4JiwqUvqAR/UzQKN aaS8RJgnCNi8h+ySjyJaZH86PpCFYvEQdhigUkFJ3u6aDH8wnBDI/T90AjiW1i5S 2F0CUgeGlzBXfsLRJzvj0NSXiR1NexjJa42kFqAgG6fEOWcICAkVtFX8fLyZFcHy 6b2H4O0G/dPUF7LfS34lYFiVUHnBSsQPVGh0KuF8/t+99EvQtbrFnvtsNlbteaKR sfVQ903DQMoyi/x3WVtyvqOfDTulUbPecQjtWlYfIIy93326jwlE+0TPpYYxmnRB b2xiADwPtOE+T9oGEe+ALLJYdzAwllN+bE1F99oTNmgCA3fp2vyvr2dsS98bG2KN weCRfEmH2GPLcb5yaM6ltR6l3iy4YECjOmbPrPgEsqTB/DJRGYsAqwQ9W2LK61sz CyGGyRWDMvYMwQmZMIymxlHOM6/lx+6I3bFHpFAxGYXgQBU4SeRH3WDIUOOn8ewr h8UbyTbHeAABAZdVEmnqTV5BBILEpNqC9TcrpayJcCKGagfM1AMs7oFZfdH6C8ZX NHipZg3D1DEV+JFw0KCZUhGNsPZjROMQbbzQEzv0V7p6LiLtrVw= =jZAv -----END PGP SIGNATURE-----
