在 qemu 中模拟 cortex-a53 (arm64)

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

我想用 qemu 模拟 aarch64 系统。该系统已经在板上进行了测试并且可以完美运行。该板基于 allwinner A64。我从这个 repo 开始使用 qemu:git://git.qemu.org/qemu.git 但是我运行的命令只是没有启动它,我得到一个黑屏:

./qemu-system-aarch64 \
  -machine type=virt \
  -cpu cortex-a53 \
  -nographic \
  -smp 1 \
  -m 2048 \
  -kernel my_image
  -serial stdio

我不确定是否需要指向内核文件和 initrd 文件,并且没有 -v 标志供 qemu 调试

qemu arm64 emulation
3个回答
0
投票
  • 首先你必须确保你已经根据aarch64编译了你的内核文件。您可以通过在终端中运行“file my_image”命令来检查这一点。

  • 其次,确保“qemu-system-aarch64”的 qemu repo 正常工作。你可以找到一个简单的 qemu 示例并运行它。

  • 第三,你应该检查你选择的qemu版本在cpu列表中是否有cortex-a53。您可以简单地使用命令“qemu-system-aarch64 -M ?”看到这一点


-2
投票

您可以使用 gdb 调试内核。只需将 qemu 作为 gdb 服务器启动:运行 qemu 时需要在最后添加另外两个选项:“-S -s”。在你可以使用来自 aarch64 交叉工具的 gdb 客户端来调试你的内核之后。看起来也需要“-dtb”选项。


-3
投票

我会说我从未使用过 qemu,但我看到您使用的是 nographic 而不是设置控制台。您可以打开一个到 qemu 的控制台连接,这将让您停止仿真的 arm 处理器,并观察寄存器和处理器状态。尝试查看此链接,并搜索“QEMU WITHOUT X”:

https://www.aurel32.net/info/debian_arm_qemu.php

编辑:控制台命令的完整文档在这里: http://wiki.qemu.org/download/qemu-doc.html#pcsys_005fmonitor

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