fvdl


Usage: fvdl [--sdk] <command> [<args>] entry point for fvdl Commands to start/stop the emulator via fuchsia virtual device launcher (VDL)

Options:


--sdk running in fuchsia sdk (not inside the fuchsia code repository) --help display usage information

Commands:


start Starting Fuchsia Emulator kill Killing Fuchsia Emulator remote This is a placeholder for a new feature in active development. Please stand by...

development.


Unrecognized argument: development.

kill


Usage: fvdl kill [-d <vdl-path>] [--launched-proto <launched-proto>] Killing Fuchsia Emulator

Options:


-d, --vdl-path device_launcher binary location. Defaults to looking in prebuilt/vdl/device_launcher --launched-proto required, file containing device_launcher process artifact location. --help display usage information

remote


Usage: fvdl remote <host> [<args...>] [--dir <dir>] [--no-build] [--stream] [--no-emu] [--no-turn] [--no-open] [--display <display>] [--port <port>] This is a placeholder for a new feature in active development. Please stand by...

Options:


--dir defaults to ~/fuchsia, the path to the FUCHSIA_DIR on <host> --no-build do not build, just pull artifacts already present --stream stream output from remote emulator using WebRTC instead of fetching artifacts --no-emu only tunnel, do not start remote emulator --no-turn do not use turn configuration for remote emulator --no-open do not open https://web-femu.appspot.com, just run remote emulator --display do not start remote virtual display, use DPY instead --port port used on local machine to connect with remote emulator over HTTP (default: 8080) --help display usage information

start


Usage: fvdl start [-H] [-N] [--host-gpu] [--software-gpu] [--hidpi-scaling] [-u <upscript>] [-p <pointing-device>] [-w <window-width>] [-h <window-height>] [-s <image-size>] [-F <device-proto>] [-e <aemu-path>] [--aemu-version <aemu-version>] [-d <vdl-path>] [--vdl-version <vdl-version>] [-x <grpcwebproxy>] [-X <grpcwebproxy-path>] [--grpcwebproxy-version <grpcwebproxy-version>] [-v <sdk-version>] [--gcs-bucket <gcs-bucket>] [--image-name <image-name>] [-l <emulator-log>] [--port-map <port-map>] [--vdl-output <vdl-output>] [-c <kernel-args>] [--nointeractive] [-i] [--debugger] [-m] [--emu-only] [--nopackageserver] [--packages-to-serve <packages-to-serve>] [--package-server-log <package-server-log>] [--amber-unpack-root <amber-unpack-root>] [--envs <envs...>] [--noacceleration] [--package-server-port <package-server-port>] [-a <amber-files>] [-f <fvm-image>] [-k <kernel-image>] [-z <zbi-image>] [-A <image-architecture>] [--ssh <ssh>] [-V] Starting Fuchsia Emulator

Options:


-H, --headless bool, run emulator in headless mode. -N, --tuntap bool, run emulator with emulated nic via tun/tap. --host-gpu bool, run emulator with host GPU acceleration, this doesn't work on remote-desktop with --headless. --software-gpu bool, run emulator without host GPU acceleration, default. --hidpi-scaling bool, enable pixel scaling on HiDPI devices. -u, --upscript path to tun/tap upscript, this script will be executed before booting up FEMU. -p, --pointing-device set pointing device used on emulator: mouse or touch screen. Allowed values are "touch", "mouse". Default is "touch". -w, --window-width emulator window width. Default to 1280. -h, --window-height emulator window height. Default to 800. -s, --image-size extends storage size to <size> bytes. Default is "2G". -F, --device-proto path to fuchsia virtual device configuration, if not specified a generic one will be generated. -e, --aemu-path path to aemu location. When running in fuchsia repo, defaults to looking in prebuilt/third_party/aemu/PLATFORM. When running in fuchsia sdk, defaults to looking in $HOME/.fuchsia/femu. --aemu-version label used to download AEMU from CIPD. Default is "integration". Download only happens if aemu binary cannot be found from known paths. -d, --vdl-path device_launcher binary location. When running in fuchsia repo, defaults to looking in prebuilt/vdl/device_launcher. When running in fuchsia sdk, defaults to looking in directory containing `fvdl`. --vdl-version label used to download vdl from CIPD. Default is "latest". Download only happens if vdl (device_launcher) binary cannot be found from known paths. -x, --grpcwebproxy enable WebRTC HTTP service on port, if set to 0 a random port will be picked -X, --grpcwebproxy-path location of grpcwebproxy, When running in fuchsia repo, defaults to looking in prebuilt/third_party/grpcwebproxy When running in fuchsia sdk, defaults to looking in $HOME/.fuchsia/femu. --grpcwebproxy-version label used to download grpcwebproxy from CIPD. Default is "latest". Download only happens if --grpcwebproxy is set and grpcwebproxy binary cannot be found from known paths or path specified by --grpcwebproxy_path. -v, --sdk-version fuchsia sdk ID used to fetch from gcs, if specified, the emulator will launch with fuchsia sdk files fetched from gcs. To find the latest version run `gsutil cat gs://fuchsia/development/LATEST_LINUX`. --gcs-bucket gcs bucket name. Default is "fuchsia". --image-name image file name used to fetch from gcs. Default is "qemu-x64". To view available image names run `gsutil ls -l gs://fuchsia/development/$(gsutil cat gs://fuchsia/development/LATEST_LINUX)/images`. -l, --emulator-log file path to store emulator log. Default is a temp file that is deleted after `fvdl` exits. --port-map host port mapping for user-networking mode. This flag will be ignored if --tuntap is used. If not specified, an ssh port on host will be randomly picked and forwarded. ex: hostfwd=tcp::<host_port>-:<guest_port>,hostfwd=tcp::<host_port>-:<guest_port> --vdl-output file destination to write `device_launcher` output. Required for --nointeractive mode. Default is a temp file that is deleted after `fvdl` exits. Specify this flag if you plan to use the `kill` subcommand. -c, --kernel-args extra kernel flags to pass into aemu. --nointeractive bool, turn off interactive mode. if turned off, fvdl will not land user in ssh console. A ssh port will still be forwarded. User needs to specify --vdl-output flag with this mode, and manually call the `kill` subcommand to perform clean shutdown. -i, --cache-image bool, download and re-use image files in the cached location ~/.fuchsia/<image_name>/<sdk_version>/. If not set (default), image files will be stored in a temp location and removed with `kill` subcommand. If image location is specified with --kernel-image, --zbi-image, --fvm-image etc., the cached image will be overwritten for the specified image file. --debugger bool, pause on launch and wait for a debugger process to attach before resuming -m, --monitor bool, launches emulator in qemu console No local services such as package_server will be running in this mode. --emu-only bool, launches user in femu serial console, this flag is required for bringup image. No local services such as package_server will be running in this mode. --nopackageserver bool, disable automatically launching package server. --packages-to-serve comma separated string of fuchsia package urls, extra packages to serve after starting FEMU. Requires --nopackageserver=false --package-server-log file path to store package server log. Default is a stdout. Requires --nopackageserver=false --amber-unpack-root path to unpack archived_package downloaded from GCS. This only applies when fvdl is downloading images files from GCS (ex: --gcs-bucket, --sdk-verion, --image-name flags are specified). If not specified, a temporary path will be used. --envs environment variables for emulator. The argument can be repeated for multiple times to add multiple arguments. If not specified, only the default environment variables (DISPLAY) will be set to run the emulator. --noacceleration bool, disable acceleration using KVM on Linux and HVF on macOS. --package-server-port int, port to an existing package server running on the host. -a, --amber-files string, absolute path to amber-files location, path name must end with 'amber-files'. -f, --fvm-image string, absolute path to fvm image file location. -k, --kernel-image string, absolute path to kernel image file location. If specified --zbi-image and --image-architecture must also be specified. When running with --sdk option, this will skip downloading fuchsia image prebuilts from GCS. -z, --zbi-image string, absolute path to zircon image file location. If specified --kernel-image and --image-architecture must also be specified. When running with --sdk option, this will skip downloading fuchsia image prebuilts from GCS. -A, --image-architecture string, specifies image architecture, accepted values are 'arm64' or 'x64'. Required if image override flags (i.e --fvm-image, --kernel-image, --zbi-image, or --amber-files) are specified. --ssh string, specifies an alternative path for ssh keys. The emulator defaults to the user's $HOME/.ssh directory if none is specified. The path indicated must contain the files `fuchsia_authorized_keys` and `fuchsia_ed25519`. -V, --verbose bool, enables extra logging for debugging --help display usage information