Running the VM

The VM is launched by a Swift launcher (host/vm-runner) built on Apple's Virtualization.framework. There is no other host.

zig build run      # boot to the kernel's serial console; output -> artifacts/vm-serial.log
zig build console  # boot an interactive dipshit> console over a live serial attachment

The launcher supports flag-gated device modes, all off by default so the default VM stays byte-identical:

Flag Attaches
--console an interactive stdin/stdout serial console
--display / --screenshot the virtio-gpu device (1280×720 scanout) for the graphical terminal and window manager
--input the USB keyboard + pointing devices (an Apple XHCI controller)
--net the virtio-net device with a deterministic file-handle attachment
--net-nat the virtio-net device with a NAT attachment (real outbound connectivity)

The launcher also carries the deterministic scripted-input and network responder seams the live gates use (--script, --input-string, --net-udp-respond, --net-dhcp-respond, and so on). Those are test harness surface, not something an end user typically drives by hand.

What you should see

A successful zig build run ends with the kernel's banner in artifacts/vm-serial.log:

DipshitOS - AArch64 firmware-assisted kernel monitor
Type 'help' before touching anything expensive.
dipshit>

From there the interactive monitor serves the kernel's command surface — help lists the registry (44 commands as of the current tree), from mem and pages through exec, net, screen, and win.