首页 > 解决方案 > Qemu 显示为 ARM (VM) 的黑屏

问题描述

所以我正在使用这个站点在我的 Lubuntu VM 上设置 Qemu。

https://azeria-labs.com/emulate-raspberry-pi-with-qemu/

当我尝试运行 Qemu 时出现我的错误,但屏幕显示为黑色,并显示“访客尚未初始化显示(尚未)”。

查看它说的错误:

错误:无效的 dtb 和无法识别/不受支持的机器 ID

r1=0x00000183 r2=0x00000100

r2[]=05 00 00 00 01 00 41 54 01 00 00 00 00 10 00 00

可用机器支持:

ID(十六进制)名称

ffffffff 基于通用 DT 的系统

ffffffff ARM-Versatile(设备树支持)

请检查您的内核配置和/或引导加载程序。

如您所见,我使用了最新的内核和覆盆子映像(Buster),所以我不确定这是否会导致错误,因为我使用的源代码已经过时了。

$ qemu-system-arm -kernel ~/qemu_vms/kernel-qemu4.19.50-buster -cpu arm1176 -m 256 -M versatilepb -serial stdio -append "root=/dev/sda2 rootfstype=ext4 rw" -hda ~/qemu_vms/2019-09-26-raspbian-buster.img

我无法从在线示例中执行 redir 部分,因为由于某种原因它一直在说-redir: invalid option

这是它给我的视觉输出:

https://ibb.co/xDmj7D7 https://ibb.co/9YrmD2M

如果有人能告诉我我做错了什么,输出应该类似于我使用的源代码,谢谢!: https ://azeria-labs.com/emulate-raspberry-pi-with-qemu/

编辑:好吧,自上次以来我已经取得了一些进展。所以我忘了包括 dtb,因为 buster 也需要这个。

-dtb /.../versatile-pb.dtb \

https://github.com/dhruvvyas90/qemu-rpi-kernel 使用了那里的命令格式,但我遇到我的文件是原始的,所以我做了一个驱动器命令format=raw

然后又弹出一个错误: vpb_sic_write: Bad register offset 0x2c

通过添加解决:-serial stdio 来源:https ://github.com/dhruvvyas90/qemu-rpi-kernel/issues/75

它看起来像我在树莓派中,但我的 Qemu 仍然有一个黑屏,上面写着:Guest has not initialized the display (yet)

标签: linuxubunturaspberry-piqemu

解决方案


对于 Raspbian Buster 映像和内核,我遇到了与上述相同的情况。但是当我切换到 2019-04-08-raspbian-stretch-full.img 和 kernel-qemu-4.14.79-stretch 而没有任何其他更改时,我能够获得图形(我的意思是鼠标光标、桌面等) ) 在 QEMU 中。看起来必须为 Raspbian Buster 纠正通用 pb.dtb。

QEMU 中的 Raspbian Stretch


推荐阅读