Lima 1.0 has been released, offering tools for the instrumentation originally developed similar to WSL2 (Windows Subsystem for Linux), providing a layer for launching Linux Apps on MacOS (Linux-On-Mac). Lima has since evolved to include universal tools for launching virtual machines with Linux on various operating systems such as MacOS, Linux, Windows, and BSD. The primary objective of the project is to offer a straightforward method to launch Linux environments in isolated containers or virtual environments, with automatic port redirection and shared file access. The project is coded in Go and is open-source under the Apache 2.0 license.
To isolate the launch of Linux environments on Linux and BSD systems, Runtime Containerd and various container runtime engines like Apptainer, Docker, Podman, and LXD can be utilized. MacOS leverages QEMU with hardware acceleration using hvf or the virtualization.framework. In Windows, the WSL2 layer (Windows Subsystem for Linux) is employed to launch Linux environments. Lima supports the launching of Linux environments compiled for X86_64 architecture on host systems with ARM64 architecture and vice versa, with experimental support for RISCV64 and ARM32 architectures.
To access host files, tools like sshfs and virtio-9p-pci/virtfs can be used. Port redirection is achieved by monitoring network requests through Proc/Net/TCP and Iptables, followed by the automatic initiation of SSH with the -L option. Experimental features include access to the ALSA sound system and remote connection setup via VNC.
For quick environment deployment, Lima provides templates for various Linux distributions such as almalinux, alpine, Arch Linux, Debian, Fedora, Gentoo, OpenSUSE, Oracle Linux, Rocky, and Ubuntu. Users can also utilize buildkit to build custom system images. Lima can