Skip to content

vmm: build BoxLite's own VMM and guest kernel #1512

Description

@DorianZheng

Goal

Build BoxLite's own virtualization stack and run every box on it:

  • VMM: a Rust VMM for BoxLite on Hypervisor.framework (macOS arm64) and KVM (Linux x86_64 and arm64), linked as a library into boxlite-shim.
  • Guest kernel: a pinned Linux LTS kernel with BoxLite's config, built in CI and shipped as a file.
  • Guest init: boxlite-guest runs as PID 1.

When the new stack is the default, remove libkrun and libkrunfw. Then build on it: hot-plug mounts, dynamic resource adjustment, memory snapshots, GPU support, and native Windows hosts.

Not in scope

  • Changes to libkrun. It ships unchanged until the new VMM is the default.
  • More than one VM per process, confidential computing, live migration, Intel Macs.

Why

Milestones by priority

Each milestone's description holds its goal, tasks and done-when. Open an issue in the milestone when work on a task starts.

P0 (highest): boxes work exactly as they do today

P1: new capabilities, after P0

The M0 design leaves room for these, so they don't need a redesign later.

P2 (lowest): Windows hosts

Windows boxes already run through WSL2.

Activity

  1. moved this from Todo to In Progress in BoxLite VMMon Sep 18, 2026
  2. Vitus213 commented on Sep 21, 2026

    @Vitus213
    Contributor

    Claiming the M1 x86_64 device-model slice (bus, interrupt sender, 8250, CMOS RTC, i8042): #1585

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions