I recently got myself a M1 Mac and I want to run Linux on it. By reading the docker M1 tech preview release (<a href="https://www.docker.com/blog/download-and-try-the-tech-preview-of-docker-desktop-for-m1/" rel="nofollow">https://www.docker.com/blog/download-and-try-the-tech-previe...</a>), I was made aware of the existence of Virtualization.framework on recent macOS releases.<p>Virtualization.framework provides 99% of the building blocks for running a Linux VM on a Mac, but there’s no off-the-shelf CLI for running a VM.<p>Inspired by <a href="https://github.com/evansm7/vftool" rel="nofollow">https://github.com/evansm7/vftool</a>, I wrote another CLI (vmcli) with some more features (better termios handling / escape sequence detection) in Swift, and build a script (vmctl) to daemon-ize vmcli and help manage VMs. I also made a script for provisioning a Ubuntu VM, so you can run a Ubuntu VM from scratch in minutes.