无显示并显示消息:“访客尚未初始化显示(尚未)。”当我尝试在 qemu 上运行 Android 时

问题描述 投票:0回答:1

我只是尝试在 qemu 上运行 android。我使用的是 Ubuntu 16.04,CPU 为

Intel(R) Core(TM) i7-4790

我将

android-6.0.1_r1
同步并编译为
aosp_arm-eng
。 我与arm平台同步并编译
qemu 2.9.91

然后,我尝试通过以下 shell 代码来完成我的工作:

    ANDROID_IMAGE_PATH=${ANDROID_PATH}/out/target/product/generic
    QEMU_ARCH="arm"
    QEMU_OPTS="-cpu cortex-a15 -machine type=virt"
    KERNEL_CMDLINE='console=ttyAMA0,38400 earlycon=pl011,0x09000000 debug nosmp drm.debug=0x0 rootwait androidboot.selinux=permissive'
    LINUX_PATH=${ANDROID_PATH}/prebuilts/qemu-kernel
    KERNEL=${LINUX_PATH}/arm/kernel-qemu-armv7

    ${QEMU_PATH}/${QEMU_ARCH}-softmmu/qemu-system-${QEMU_ARCH} \
    ${QEMU_OPTS} \
    -append "${KERNEL_CMDLINE}" \
    -m 1024 \
    -serial mon:stdio \
    -kernel ${KERNEL} \
    -initrd ${ANDROID_IMAGE_PATH}/ramdisk.img \
    -drive index=0,if=none,id=system,format=raw,file=${ANDROID_IMAGE_PATH}/system.img \
    -device virtio-blk-pci,drive=system \
    -drive index=1,if=none,id=cache,format=raw,file=${ANDROID_IMAGE_PATH}/cache.img \
    -device virtio-blk-pci,drive=cache \
    -drive index=2,if=none,id=userdata,format=raw,file=${ANDROID_IMAGE_PATH}/userdata.img \
    -device virtio-blk-pci,drive=userdata \
    -netdev user,id=mynet,hostfwd=tcp::5550-:5555 -device virtio-net-pci,netdev=mynet \
    -display gtk,gl=on \
    -device virtio-gpu-pci,virgl \
    -device nec-usb-xhci,id=xhci \
    -device sdhci-pci \
    -d guest_errors \
    $*

然后我在 qemu 窗口上收到消息:“Guest 尚未初始化显示(尚未)”,如下图所示:

问题可能是因为内核和选项不匹配。

首先(1)我检查图像。 我使用上面的图像和路径运行模拟器。 该模拟器基于qemu,来自Android源代码。 我使用以下代码运行模拟器并且它可以工作。

EMULATOR_PATH=${ANDROID_PATH}/prebuilts/android-emulator/linux-x86_64
${EMULATOR_PATH}/emulator \
    -kernel ${KERNEL} \
    -ramdisk ${ANDROID_IMAGE_PATH}/ramdisk.img \
    -system ${ANDROID_IMAGE_PATH}/system.img \
    -data ${ANDROID_IMAGE_PATH}/userdata.img \
-sysdir ${ANDROID_IMAGE_PATH} \
-memory 512 \
    -partition-size 1024

现在,qemu 的选项可能有问题。 那么有人可以告诉我有用的机器类型或其他选项吗?

如果您能给我一些帮助,我将非常感谢(⊙o⊙)

android ubuntu virtual-machine qemu boot
1个回答
0
投票

尝试

-display gtk,gl=off
禁用GL显示驱动程序,这可能会有所不同。

-nographic
,为了无头运行。

参见 https://www.linux-kvm.org/images/b/b2/01x10b-QEMUGfraphics.pdf

© www.soinside.com 2019 - 2024. All rights reserved.