The vmm
app enables booting a guest operating system using the Zircon hypervisor.
These instructions will guide you through creating minimal Zircon and Linux guests. For instructions on building a more comprehensive linux guest system see the debian_guest package.
These instructions assume a general familiarity with how to netboot the target device.
Configure, build, and boot the guest package as follows:
$ fx set x64 --packages garnet/packages/experimental/linux_guest,garnet/packages/experimental/zircon_guest --args guest_display=\"framebuffer\" $ fx full-build $ fx boot
Configure, build, and boot the guest package as follows:
$ fx set arm64 --packages garnet/packages/experimental/linux_guest,garnet/packages/experimental/zircon_guest $ fx full-build $ fx run
After netbooting the target device, to run Zircon:
$ guest launch zircon_guest
Likewise, to launch a Linux guest:
$ guest launch linux_guest
To run from Topaz, configure the guest package as follows:
$ fx set x64 --packages topaz/packages/topaz,garnet/packages/experimental/linux_guest,garnet/packages/experimental/zircon_guest
After netbooting the guest packages can be launched from the system launcher as linux_guest
and zircon_guest
.
First flash Zedboot onto your VIM2:
$ cd $ZIRCON_DIR $ scripts/build-zircon-arm64 $ scripts/flash-vim2 -m
Then configure, build, and boot the guest package as follows:
$ fx set arm64 --packages garnet/packages/experimental/linux_guest,garnet/packages/experimental/zircon_guest --args guest_display=\"framebuffer\" --netboot $ fx full-build $ fx boot vim2
Guest systems can be configured by including a config file inside the guest package:
{ "type": "object", "properties": { "kernel": { "type": "string" }, "ramdisk": { "type": "string" }, "block": { "type": "string" }, "cmdline": { "type": "string" }, "balloon-demand-page": { "type": "string" }, "balloon-interval": { "type": "string" }, "balloon-threshold": { "type": "string" }, } }