Microverse
Microverse is a thin virtualization app for macOS, which allows running Linux (and, soon, macOS) guest virtual machines, achieved with macOS' own virtualization framework.
Note that this does not do any emulation—the virtual machines run on the same hardware as the host machine (and therefore have the same architecture). This is particularly useful to create sandbox environments with minimal performance impact.
Requirements
This project makes use of APIs from the macOS 12 (Monterey) beta. ARM and Intel Macs should both work.
macOS 11 (Big Sur) is unsupported.
Running Linux
VZLinuxBootLoader
is quite picky about its inputs. I had the best luck with Ubuntu cloud images, based on this helpful comment by @droidix on evansm7/vftool
.
The following examples assume arm64, but x86_64 should work similarly (presuming you get the correct downloads).
Kernel
- Download a
vmlinuz
, like https://cloud-images.ubuntu.com/releases/focal/release/unpacked/ubuntu-20.04-server-cloudimg-arm64-vmlinuz-generic - Add
.gz
to the extension of the downloaded file - Unpack with
gunzip
in the Terminal
Initial RAM disk
The corresponding initrd
can be used as-is: https://cloud-images.ubuntu.com/releases/focal/release/unpacked/ubuntu-20.04-server-cloudimg-arm64-initrd-generic
Startup disk image
The startup image can be used as-is: https://cloud-images.ubuntu.com/releases/focal/release/ubuntu-20.04-server-cloudimg-arm64.img
License and credit
Released under the MIT license. SwiftTerm is used as a dependency.
I'm indebted to @KhaosT' MacVM and SimpleVM projects for demonstrating Virtualization.framework
usage.