This is a toy virtual machine built using Apple's Virtualization framework, that is capable of running Linux on macOS Monterey on Apple Silicon and Intel Macs.
There's a short video demo of toyvm running Debian on an M1 Mac mini here.
As well as toyvm itself, kernel, initial ram disk and root filesystem images are needed to build a working system. Please see debian-vm-build for pre-built ones for Debian Buster on Apple Silicon, and the scripts used to produce them.
usage: toyvm [options] [kernel command line]
Options:
-k --kernel <path> Path to the kernel image to load [required]
-i --initrd <path> Path to an initrd image to load
-d --disk <path> Add a read/write virtual storage device backed by the
specified raw disk image file
-r --disk-ro <path> As --disk but adds a read-only storage device
-s --share <tag>:<path> Add a directory share device with the specified tag
attached to the specified path on the host. If tag is
omitted, it defaults to "share"
-t --share-ro <tag>:<path>
As --share but adds a read-only directory share
-p --cpus <number> Number of CPU (core)s to make available to the VM
(default: 2)
-m --memory <amount> Amount of memory to reserve for the VM in gigabytes
(default: 2)
-a Enable virtual audio device
--no-net Do not add a virtual network interface
--enable-rosetta Enable the Rosetta directory share in the guest OS