QEMU-aarch64 启动!(使用 QEMU 运行 aarch64 虚拟机)
Contents
机器信息
1 | echo "OS: ${OSTYPE:-N/A} | Vendor: ${VENDOR:-N/A} | Machine: ${MACHTYPE:-N/A} | CPU: ${CPUTYPE:-N/A} | Processor: ${$(uname -p 2>/dev/null):-N/A} | Hardware: ${$(uname -m 2>/dev/null):-N/A}" |
1 | OS: linux-gnu | Vendor: pc | Machine: x86_64 | CPU: x86_64 | Processor: unknown | Hardware: x86_64 |
前置条件
1 | sudo pacman -S edk2-aarch64 qemu-system-aarch64 |
qemu-emulators-full
会提供支持架构的全系统模拟(如qemu-system-aarch64
或qemu-x86_64
)
edk2-aarch64
提供 uefi 固件
创建 flash 镜像
1 | dd if=/dev/zero of=flash1.img bs=1M count=64 |
/usr/share/edk2/aarch64/QEMU_EFI.fd
这边不同的发行版会存放在不同的位置
创建镜像文件
1 | qemu-img create -f qcow2 vm.qcow2 32G |
虚拟机,启动
QEMU<span class=“hint–top hint–error hint–medium hint–rounded hint–bounce” aria-label="How to launch ARM aarch64 VM with QEMU from scratch.
">[1]
1 | img_path=vm.qcow2 |
如果这样无法启动,那就用 libvirt 咯。
libvirt
1 | img_path=vm.qcow2 |
查看虚拟机:
1 | virsh list |
开启虚拟机 vm:
1 | virsh start vm |
关闭虚拟机 vm:
1 | virsh shutdown vm |
强制关闭虚拟机 vm:
1 | virsh destroy vm |
删除虚拟机 vm:
1 | virsh undefine vm |
或许可能会出现一个关于
nvram
的错误,那么就需要加上nvram
这个参数:
virsh undefine vm --nvram
Author: xun
Link: http://blog.fooo.in/2023/09/30/linux/linux-emulate-aarch64/
License:
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。