ARM Mac 上的 QEMU aarch64 从未启动,仅显示 (qemu) 提示

ARM Mac 上的 QEMU aarch64 从未启动,仅显示 (qemu) 提示

我正在尝试使用 ARM/M1 macOS 上的 qemu 模拟 aarch64 和/或 arm。但是,在安装多个安装程序 iso(ubuntu aarch64、标准 alpine aarch64 等)后,我似乎在 ARM macOS 中只看到一个空白提示。

我已经尝试了所有方法:

qemu-system-aarch64 
  -machine virt \
  -m 512M \
  -cpu max \
  -smp 1 \                          
  -netdev user,id=vnet,hostfwd=:127.0.0.1:0-:22 \
  -device virtio-net-pci,netdev=vnet \                
  -drive file=ubuntu-image.img,if=none,id=drive0,cache=writeback \
  -device virtio-blk,drive=drive0,bootindex=0 \
  -drive file=mini.iso,if=none,id=drive1,cache=writeback \
  -device virtio-blk,drive=drive1,bootindex=1

到:

qemu-system-aarch64 \
  -machine virt \
  -m 512M \
  -cpu max \
  -smp 1 \
  -boot d -cdrom mini.iso

以下是我看到的结果:

在此处输入图片描述

当我尝试 x86 virt 机器时,给定相同的参数,一切都正常。qemu-system-aarch64 -machine virt 是否可以在 ARM macOS 上运行?是否有任何命令适用于 M1/ARM macOS 上的 aarch64?

答案1

搞清楚了。看来你需要定义 UEFI(例如 edk2)适用于 aarch64 机器的 CPU。

UEFI: -bios "/opt/homebrew/Cellar/qemu/6.1.0_1/share/qemu/edk2-aarch64-code.fd"

中央处理器: -cpu cortex-a72

(只尝试了几个,但只有 cortex-a72 对我有用。)

因此,总的来说:

qemu-system-aarch64 \
  -M virt,highmem=off \
  -accel hvf \
  -m 1G \
  -cdrom myiso.qcow2 \
  -boot d \
  -bios "/opt/homebrew/Cellar/qemu/6.1.0_1/share/qemu/edk2-aarch64-code.fd" \
  -serial stdio \
  -boot menu=off \
  -cpu cortex-a72 \
  -nodefaults

相关内容