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

时间:2016-10-29 06:37:30

标签: arm virtual-machine qemu arm64

在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活动在访客tries to execute code outside RAM or ROM at ...之前大约7秒钟激增。 客人包括Debian 8.0和CentOS 7。

请求解决此问题的建议。

1 个答案:

答案 0 :(得分:0)

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

您的命令行的另一个问题是您已经传递了64位ARM磁盘映像,但您没有使用-cpu来指定您需要64位CPU。 'virt'板的默认值是'cortex-a15',它是一个32位CPU。