Skip to content

VBox 6a: VBoxVMI: server skeleton and client connect #281

Closed

Description

@Wenzel

Parent

#269

What to build

A patched VirtualBox serves VBoxVMI on a per-VM Unix socket and libmicrovmi can connect to it with the VBoxVMI method. Server is a ring-3 module in the VMM behind VBOX_WITH_VMI, started at VM creation, enabled via VBoxInternal/VMI/... extradata. On branch vmi/vboxvmi based on VirtualBox main.

Acceptance criteria

  • SOCK_SEQPACKET socket at a configurable path, default under the VirtualBox user home vmi/<vm-uuid>.sock, mode 0600, peer uid checked
  • Message header with size, request id and command/event code; handshake carries magic and protocol version
  • Off unless enabled per VM
  • vboxvmi crate (pure Rust, unpublished, under ~/vmi) connects and handshakes
  • VBoxInitParams gains a VBoxVMI variant (socket path); virtualbox-vmi feature; driver init succeeds
  • First version of the protocol specification and design notes in the VirtualBox tree; user-manual section on enabling VBoxVMI
  • ADR in libmicrovmi docs/adr/: VBoxVMI uses a Unix socket rather than shared memory

Blocked by

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

    ready-for-agentFully specified, ready for an AFK agent

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions