There are many sites out there that describe how to emulate a Raspberry Pi with Raspberry Pi OS on it, so I won’t give those details, but with the new Debian Trixie (13) based Raspberry Pi OS, I ran into trouble booting. It kept hanging or rebooting at:
[ 8.849465] systemd[1]: Detected architecture arm64. [ 8.854622] systemd[1]: Detected first boot. Welcome to Raspbian GNU/Linux 13 (trixie)! [ 8.995587] systemd[1]: Hostname set to <raspberrypi>. [ 9.040059] systemd[1]: Initializing machine ID from random generator.
After checking on a real Pi what the next steps were in the boot process, I found the relevant fix was disabling the watchdog, which seems could only be done reliably by editing ‘/etc/systemd/system.conf’ and set:
WatchdogDevice=/dev/watchdog666
Also note that the ‘console=ttyAMA0,115200’ you see in many of the articles, probably needs to be ‘console=ttyAMA1,115200’. It did for me.
And for reference, my complete qemu command:
qemu-system-aarch64 \ -no-reboot \ -machine raspi3b \ -cpu cortex-a72 \ -nographic \ -dtb bcm2710-rpi-3-b-plus.dtb \ -m 1G \ -smp 4 \ -kernel kernel8.img \ -drive file=2025-10-09-raspios-trixie-armhf-flashmq.img,if=sd,format=raw \ -append "rw earlyprintk loglevel=8 console=ttyAMA1,115200 dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2 rootdelay=1" \ -device usb-net,netdev=net0 \ -netdev user,id=net0,hostfwd=tcp::2222-:22
Recent Comments