QEMU 构建无法 运行 aarch64 和 arm 图像

QEMU build fails to run aarch64 and arm images

在 x86_64 Ubuntu 14.04 上构建了 qemu 2.7.0。 运行 aarch64arm 来宾失败并出现以下错误,

qemu/build/aarch64-softmmu$ ./qemu-system-aarch64 -M virt -boot d -cdrom ~/debian-8.6.0-arm64-netinst.iso  
VNC server running on 127.0.0.1:5900
qemu-system-aarch64: Trying to execute code outside RAM or ROM at 0x0000000008000000
This usually means one of the following happened:

(1) You told QEMU to execute a kernel for the wrong machine type, and it crashed on startup (eg trying to run a raspberry pi kernel on a versatilepb QEMU machine)
(2) You didn't give QEMU a kernel or BIOS filename at all, and QEMU executed a ROM full of no-op instructions until it fell off the end
(3) Your guest kernel has a bug and crashed by jumping off into nowhere

This is almost always one of the first two, so check your command line and that you are using the right type of kernel for this machine.
If you think option (3) is likely then you can try debugging your guest with the -d debug options; in particular -d guest_errors will cause the log to include a dump of the guest register state at this point.

Execution cannot continue; stopping here.

VNC 服务器几乎立即启动,单个 CPU activity 在来宾 tries to execute code outside RAM or ROM at ... 之前出现峰值约 7 秒。 来宾包括 Debian 8.0 和 CentOS 7。

请求解决此问题的建议。

这个问题的答案在你引用的错误信息中。您处于情况 (2) -- 您没有提供内核或 BIOS 文件名。

您的命令行的另一个问题是,您已将 64 位 ARM 磁盘映像传递给它,但您没有使用 -cpu 指定您想要 64 位 CPU. 'virt' 开发板的默认设置是 'cortex-a15',这是一个 32 位的 CPU。