Public bug reported: Since RPi Kernel 1.20170427, qemu is no longer able to emulate the Rasberry Pi, as the linux kernel is complaining about timing issues.
Old kernel output - https://pastebin.com/wvkneNNF New kernel output - https://pastebin.com/QTwgCkV2 Note that the actual error is caused by the kernel being unable to get the timing source for the mmc (Line 160), which causes an unable-to- mount-root panic. There are other issues with the serial port returning an invalid speed, which displays a divide-by-zero error, which is PROBABLY a symptom of the same root cause. This is simple to replicate - The last working kernel is available here: https://github.com/raspberrypi/firmware/tree/1.20170405/boot Download kernel7 and the dtb, and try to boot with (for example) qemu-system-aarch64 -M raspi2 -kernel kernel7.img -dtb bcm2709-rpi-2-b.dtb -serial stdio -sd noobs.img -append "root=/dev/mmcblk0p2 init=/bin/bash" This works, and boots successfully. However, if you replace the kernel7.img and dtb with ones taken from https://github.com/raspberrypi/firmware/tree/1.20170427/boot it will NOT boot because of various clock timing issues (as in the second paste) ** Affects: qemu Importance: Undecided Status: New -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1797262 Title: qemu arm no longer able to boot RPI Kernels Status in QEMU: New Bug description: Since RPi Kernel 1.20170427, qemu is no longer able to emulate the Rasberry Pi, as the linux kernel is complaining about timing issues. Old kernel output - https://pastebin.com/wvkneNNF New kernel output - https://pastebin.com/QTwgCkV2 Note that the actual error is caused by the kernel being unable to get the timing source for the mmc (Line 160), which causes an unable-to- mount-root panic. There are other issues with the serial port returning an invalid speed, which displays a divide-by-zero error, which is PROBABLY a symptom of the same root cause. This is simple to replicate - The last working kernel is available here: https://github.com/raspberrypi/firmware/tree/1.20170405/boot Download kernel7 and the dtb, and try to boot with (for example) qemu-system-aarch64 -M raspi2 -kernel kernel7.img -dtb bcm2709-rpi-2-b.dtb -serial stdio -sd noobs.img -append "root=/dev/mmcblk0p2 init=/bin/bash" This works, and boots successfully. However, if you replace the kernel7.img and dtb with ones taken from https://github.com/raspberrypi/firmware/tree/1.20170427/boot it will NOT boot because of various clock timing issues (as in the second paste) To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1797262/+subscriptions