Skip to content

VM capsules beyond the Browser engine #182

Open

Description

@andersalm

Part of #173 (isolation plan). After 0.8.0.

Only the Browser engine runs in a VM today (VZ on macOS, crosvm on Linux). The general crosvm runner needs KVM, has no display and does not give the guest the vsock device it assigns (elastos-server/src/supervisor.rs, elastos-crosvm/src/config.rs). Jetson has no KVM; VM capsules are refused there.

Done means

  • Capsules that need a full operating system can run in a VM on Mac and Linux x86-64, with Runtime access only over vsock or the Carrier console and no host network. Test: a VM capsule reaches the Runtime over vsock, and its attempts to reach the host network fail.
  • The platforms without VM support are named, and those capsules are refused there instead of running unconfined. Test: on Jetson the VM capsule kind is refused with a clear message.
  • VM capsules pass the hacked-Home suite. Proof: the suite run on Mac and Linux x86-64 is linked in this issue.

Activity

  1. added this to the After 0.8.0 milestone on Oct 1, 2026
  2. andersalm commented on Oct 22, 2026

    @andersalm
    ContributorAuthor

    Correction (21 Oct): this issue says "Jetson has no KVM". That's out of date: later checks found /dev/kvm on the Jetson (#87 comment 6068136376). What the Jetson kernel (5.15.148-tegra) lacks is vsock (CONFIG_VSOCKETS, vhost_vsock), which the Browser VM transport needs. The plan is to run vsock as a normal program instead of a kernel module; it's tracked in #90 (After 0.8.0).

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions