macOS源码编译安装QEMU

首先,macOS下为什么要用源码编译安装QEMU而不是直接用brew?

brew安装的是编译好的二进制文件,且版本不是最新的,有些不需要的特性它编译进去了,而有些需要的特性它反而没有,比如HVF加速器。而源码编译则可以根据自己的需要定制。

由于编译过程中依赖nijia,首先安装它

brew install ninja

假定是在Downloads目录下执行的如下操作。

git clone https://git.qemu.org/git/qemu.git
cd qemu
mkdir build && cd build
../configure --target-list=aarch64-softmmu,x86_64-softmmu --enable-hvf
make

Hypervisor功能是我们要用的,用来加速虚拟机运行,不然就等着虚拟机卡成PPT吧。所以要加上参数--enable-hvf

注意点:

  1. hvf是只有macOS才有的加速功能,它使用native Hypervisor framework,所以当且仅当主机环境与虚拟机环境相同时才生效,比如如果你的Mac是Intel的CPU,那么编译出来的qemu-system-x86_64可以使用hvf加速,而qemu-system-aarch64则不能;反之,M1系列芯片的Mac编译qemu-system-aarch64可以使用hvf加速,而qemu-system-x86_64则不能。

可以使用qemu-system-aarch64 -accel help查看支持的加速器列表。

可以在https://wiki.qemu.org/Hosts/Mac查看支持的target列表。

编译成功后把执行路径加到环境变量中

export PATH=$PATH:~/Downloads/qemu/build/

然后就可以使用qemu的相关命令了。

有了Hypervisor的支持,虚拟机的运行速度就会大大提高,比如M1下的Windows ARM版和Linux。

Leave a Comment

豫ICP备19001387号-1