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"
},
}
}