Android-cuttlefish cvd tool
Macros | Functions
assemble_cvd_flags.cpp File Reference
#include "cuttlefish/host/commands/assemble_cvd/assemble_cvd_flags.h"
#include <string>
#include <fmt/format.h>
#include <gflags/gflags.h>
#include "cuttlefish/common/libs/utils/known_paths.h"
#include "cuttlefish/host/commands/assemble_cvd/flags_defaults.h"
#include "cuttlefish/host/libs/config/display.h"
Include dependency graph for assemble_cvd_flags.cpp:

Macros

#define DEFINE_vec   DEFINE_string
 

Functions

 DEFINE_vec (data_policy, CF_DEFAULTS_DATA_POLICY, "How to handle userdata partition." " Either 'use_existing', 'create_if_missing', 'resize_up_to', or " "'always_create'.")
 
 DEFINE_vec (gdb_port, std::to_string(CF_DEFAULTS_GDB_PORT), "Port number to spawn kernel gdb on e.g. -gdb_port=1234. The" "kernel must have been built with CONFIG_RANDOMIZE_BASE " "disabled.")
 
 DEFINE_string (display0, CF_DEFAULTS_DISPLAY0, cuttlefish::kDisplayHelp)
 
 DEFINE_string (display1, CF_DEFAULTS_DISPLAY1, cuttlefish::kDisplayHelp)
 
 DEFINE_string (display2, CF_DEFAULTS_DISPLAY2, cuttlefish::kDisplayHelp)
 
 DEFINE_string (display3, CF_DEFAULTS_DISPLAY3, cuttlefish::kDisplayHelp)
 
 DEFINE_string (x_res, "0", "Width of the screen in pixels")
 
 DEFINE_string (y_res, "0", "Height of the screen in pixels")
 
 DEFINE_string (dpi, "0", "Pixels per inch for the screen")
 
 DEFINE_string (refresh_rate_hz, "60", "Screen refresh rate in Hertz")
 
 DEFINE_string (overlays, "", "List of displays to overlay. Format is: 'vm_index:display_index " "vm_index2:display_index2 [...]'")
 
 DEFINE_string (extra_kernel_cmdline, CF_DEFAULTS_EXTRA_KERNEL_CMDLINE, "Additional flags to put on the kernel command line")
 
 DEFINE_string (extra_bootconfig_args, CF_DEFAULTS_EXTRA_BOOTCONFIG_ARGS, "Space-separated list of extra bootconfig args. " "Note: overwriting an existing bootconfig argument " "requires ':=' instead of '='.")
 
 DEFINE_vec (guest_enforce_security, fmt::format("{}", CF_DEFAULTS_GUEST_ENFORCE_SECURITY), "Whether to run in enforcing mode (non permissive).")
 
 DEFINE_vec (memory_mb, std::to_string(CF_DEFAULTS_MEMORY_MB), "Total amount of memory available for guest, MB.")
 
 DEFINE_vec (serial_number, CF_DEFAULTS_SERIAL_NUMBER, "Serial number to use for the device")
 
 DEFINE_vec (use_random_serial, fmt::format("{}", CF_DEFAULTS_USE_RANDOM_SERIAL), "Whether to use random serial for the device.")
 
 DEFINE_vec (gpu_mode, CF_DEFAULTS_GPU_MODE, "What gpu configuration to use, one of {auto, custom, drm_virgl, " "gfxstream, gfxstream_guest_angle, " "gfxstream_guest_angle_host_swiftshader, " "gfxstream_guest_angle_host_lavapipe, guest_swiftshader}")
 
 DEFINE_vec (gpu_vhost_user_mode, fmt::format("{}", CF_DEFAULTS_GPU_VHOST_USER_MODE), "Whether or not to run the Virtio GPU worker in a separate" "process using vhost-user-gpu. One of {auto, on, off}.")
 
 DEFINE_vec (hwcomposer, CF_DEFAULTS_HWCOMPOSER, "What hardware composer to use, one of {auto, drm, ranchu} ")
 
 DEFINE_vec (gpu_capture_binary, CF_DEFAULTS_GPU_CAPTURE_BINARY, "Path to the GPU capture binary to use when capturing GPU traces" "(ngfx, renderdoc, etc)")
 
 DEFINE_vec (enable_gpu_udmabuf, fmt::format("{}", CF_DEFAULTS_ENABLE_GPU_UDMABUF), "Use the udmabuf driver for zero-copy virtio-gpu")
 
 DEFINE_vec (gpu_renderer_features, CF_DEFAULTS_GPU_RENDERER_FEATURES, "Renderer specific features to enable. For Gfxstream, this should " "be a semicolon separated list of \"<feature name>:[enabled|disabled]\"" "pairs.")
 
 DEFINE_vec (gpu_context_types, CF_DEFAULTS_GPU_CONTEXT_TYPES, "A colon separated list of virtio-gpu context types. Only valid " "with --gpu_mode=custom." " For example \"--gpu_context_types=cross_domain:gfxstream\"")
 
 DEFINE_vec (guest_hwui_renderer, CF_DEFAULTS_GUEST_HWUI_RENDERER, "The default renderer that HWUI should use, one of {skiagl, skiavk}.")
 
 DEFINE_vec (guest_renderer_preload, CF_DEFAULTS_GUEST_RENDERER_PRELOAD, "Whether or not Zygote renderer preload is disabled, one of {auto, " "enabled, disabled}. Auto will choose whether or not to disable " "based on the gpu mode and guest hwui renderer.")
 
 DEFINE_vec (guest_vulkan_driver, CF_DEFAULTS_GUEST_VULKAN_DRIVER, "Vulkan driver to use with Cuttlefish. Android VMs require specifying " "this at boot time. Only valid with --gpu_mode=custom. " "For example \"--guest_vulkan_driver=ranchu\"")
 
 DEFINE_vec (frames_socket_path, CF_DEFAULTS_FRAME_SOCKET_PATH, "Frame socket path to use when launching a VM " "For example, \"--frames_socket_path=${XDG_RUNTIME_DIR}/wayland-0\"")
 
 DEFINE_vec (use_allocd, CF_DEFAULTS_USE_ALLOCD?"true":"false", "Acquire static resources from the resource allocator daemon.")
 
 DEFINE_vec (use_cvdalloc, CF_DEFAULTS_USE_CVDALLOC? "true":"false", "Acquire static resources with cvdalloc.")
 
 DEFINE_vec (enable_minimal_mode, CF_DEFAULTS_ENABLE_MINIMAL_MODE ? "true" :"false", "Only enable the minimum features to boot a cuttlefish device and " "support minimal UI interactions.\nNote: Currently only supports " "handheld/phone targets")
 
 DEFINE_vec (pause_in_bootloader, CF_DEFAULTS_PAUSE_IN_BOOTLOADER?"true":"false", "Stop the bootflow in u-boot. You can continue the boot by connecting " "to the device console and typing in \"boot\".")
 
 DEFINE_bool (enable_host_bluetooth, CF_DEFAULTS_ENABLE_HOST_BLUETOOTH, "Enable the rootcanal which is Bluetooth emulator in the host.")
 
 DEFINE_int32 (rootcanal_instance_num, CF_DEFAULTS_ROOTCANAL_INSTANCE_NUM, "If it is greater than 0, use an existing rootcanal instance which is " "launched from cuttlefish instance " "with rootcanal_instance_num. Else, launch a new rootcanal instance")
 
 DEFINE_string (rootcanal_args, CF_DEFAULTS_ROOTCANAL_ARGS, "Space-separated list of rootcanal args. ")
 
 DEFINE_bool (enable_host_nfc, CF_DEFAULTS_ENABLE_HOST_NFC, "Enable the NFC emulator in the host.")
 
 DEFINE_int32 (casimir_instance_num, CF_DEFAULTS_CASIMIR_INSTANCE_NUM, "If it is greater than 0, use an existing casimir instance which is " "launched from cuttlefish instance " "with casimir_instance_num. Else, launch a new casimir instance")
 
 DEFINE_string (casimir_args, CF_DEFAULTS_CASIMIR_ARGS, "Space-separated list of casimir args.")
 
 DEFINE_bool (enable_host_uwb, CF_DEFAULTS_ENABLE_HOST_UWB, "Enable the uwb host and the uwb connector.")
 
 DEFINE_int32 (pica_instance_num, CF_DEFAULTS_ENABLE_PICA_INSTANCE_NUM, "If it is greater than 0, use an existing pica instance which is " "launched from cuttlefish instance " "with pica_instance_num. Else, launch a new pica instance")
 
 DEFINE_bool (netsim, CF_DEFAULTS_NETSIM, "[Experimental] Connect all radios to netsim.")
 
 DEFINE_bool (netsim_bt, CF_DEFAULTS_NETSIM_BT, "Connect Bluetooth radio to netsim.")
 
 DEFINE_bool (netsim_uwb, CF_DEFAULTS_NETSIM_UWB, "[Experimental] Connect Uwb radio to netsim.")
 
 DEFINE_string (netsim_args, CF_DEFAULTS_NETSIM_ARGS, "Space-separated list of netsim args.")
 
 DEFINE_bool (enable_automotive_proxy, CF_DEFAULTS_ENABLE_AUTOMOTIVE_PROXY, "Enable the automotive proxy service on the host.")
 
 DEFINE_vec (enable_vhal_proxy_server, fmt::format("{}", CF_DEFAULTS_ENABLE_VHAL_PROXY_SERVER), "Enable the vhal proxy service on the host.")
 
 DEFINE_int32 (vhal_proxy_server_instance_num, CF_DEFAULTS_VHAL_PROXY_SERVER_INSTANCE_NUM, "If it is greater than 0, use an existing vhal proxy server " "instance which is " "launched from cuttlefish instance " "with vhal_proxy_server_instance_num. Else, launch a new vhal " "proxy server instance")
 
 DEFINE_vec (enable_sandbox, fmt::format("{}", CF_DEFAULTS_ENABLE_SANDBOX), "Enable crosvm sandbox assuming /var/empty and seccomp directories exist. " "--noenable-sandbox will disable crosvm sandbox. " "When no option is given, sandbox is disabled if Cuttlefish is running " "inside a container, or if GPU is enabled (b/152323505), " "or if the empty /var/empty directory either does not exist and " "cannot be created. Otherwise, sandbox is enabled on the supported " "architecture when no option is given.")
 
 DEFINE_vec (enable_virtiofs, fmt::format("{}", CF_DEFAULTS_ENABLE_VIRTIOFS), "Enable shared folder using virtiofs")
 
 DEFINE_string (seccomp_policy_dir, CF_DEFAULTS_SECCOMP_POLICY_DIR, "With sandbox'ed crosvm, overrieds the security comp policy directory")
 
 DEFINE_vec (start_webrtc, fmt::format("{}", CF_DEFAULTS_START_WEBRTC), "(Deprecated, webrtc is enabled depending on the VMM)")
 
 DEFINE_vec (webrtc_assets_dir, CF_DEFAULTS_WEBRTC_ASSETS_DIR, "Path to WebRTC webpage assets.")
 
 DEFINE_string (webrtc_sig_server_addr, CF_DEFAULTS_WEBRTC_SIG_SERVER_ADDR, "The address of the webrtc signaling server.")
 
 DEFINE_vec (tcp_port_range, CF_DEFAULTS_TCP_PORT_RANGE, "The minimum and maximum TCP port numbers to allocate for ICE " "candidates as 'min:max'. To use any port just specify '0:0'")
 
 DEFINE_vec (udp_port_range, CF_DEFAULTS_UDP_PORT_RANGE, "The minimum and maximum UDP port numbers to allocate for ICE " "candidates as 'min:max'. To use any port just specify '0:0'")
 
 DEFINE_vec (webrtc_device_id, CF_DEFAULTS_WEBRTC_DEVICE_ID, "The for the device to register with the signaling server. Every " "appearance of the substring '{num}' in the device id will be substituted " "with the instance number to support multiple instances")
 
 DEFINE_vec (uuid, CF_DEFAULTS_UUID, "UUID to use for the device. Random if not specified")
 
 DEFINE_vec (daemon, CF_DEFAULTS_DAEMON?"true":"false", "Run cuttlefish in background, the launcher exits on boot " "completed/failed")
 
 DEFINE_vec (setupwizard_mode, CF_DEFAULTS_SETUPWIZARD_MODE, "One of DISABLED,OPTIONAL,REQUIRED")
 
 DEFINE_vec (enable_bootanimation, fmt::format("{}", CF_DEFAULTS_ENABLE_BOOTANIMATION), "Whether to enable the boot animation.")
 
 DEFINE_vec (extra_bootconfig_args_base64, CF_DEFAULTS_EXTRA_BOOTCONFIG_ARGS, "This is base64 encoded version of extra_bootconfig_args" "Used for multi device clusters.")
 
 DEFINE_string (qemu_binary_dir, CF_DEFAULTS_QEMU_BINARY_DIR, "Path to the directory containing the qemu binary to use")
 
 DEFINE_string (crosvm_binary, CF_DEFAULTS_CROSVM_BINARY, "The Crosvm binary to use")
 
 DEFINE_vec (gem5_binary_dir, CF_DEFAULTS_GEM5_BINARY_DIR, "Path to the gem5 build tree root")
 
 DEFINE_vec (gem5_checkpoint_dir, CF_DEFAULTS_GEM5_CHECKPOINT_DIR, "Path to the gem5 restore checkpoint directory")
 
 DEFINE_vec (gem5_debug_file, CF_DEFAULTS_GEM5_DEBUG_FILE, "The file name where gem5 saves debug prints and logs")
 
 DEFINE_string (gem5_debug_flags, CF_DEFAULTS_GEM5_DEBUG_FLAGS, "The debug flags gem5 uses to print debugs to file")
 
 DEFINE_vec (restart_subprocesses, fmt::format("{}", CF_DEFAULTS_RESTART_SUBPROCESSES), "Restart any crashed host process")
 
 DEFINE_vec (boot_slot, CF_DEFAULTS_BOOT_SLOT, "Force booting into the given slot. If empty, " "the slot will be chosen based on the misc partition if using a " "bootloader. It will default to 'a' if empty and not using a " "bootloader.")
 
 DEFINE_int32 (num_instances, CF_DEFAULTS_NUM_INSTANCES, "Number of Android guests to launch")
 
 DEFINE_string (instance_nums, CF_DEFAULTS_INSTANCE_NUMS, "A comma-separated list of instance numbers " "to use. Mutually exclusive with base_instance_num.")
 
 DEFINE_string (report_anonymous_usage_stats, CF_DEFAULTS_REPORT_ANONYMOUS_USAGE_STATS, "Report anonymous usage " "statistics for metrics collection and analysis.")
 
 DEFINE_vec (ril_dns, CF_DEFAULTS_RIL_DNS, "DNS address of mobile network (RIL)")
 
 DEFINE_vec (kgdb, fmt::format("{}", CF_DEFAULTS_KGDB), "Configure the virtual device for debugging the kernel " "with kgdb/kdb. The kernel must have been built with " "kgdb support, and serial console must be enabled.")
 
 DEFINE_vec (start_gnss_proxy, fmt::format("{}", CF_DEFAULTS_START_GNSS_PROXY), "Whether to start the gnss proxy.")
 
 DEFINE_vec (gnss_file_path, CF_DEFAULTS_GNSS_FILE_PATH, "Local gnss raw measurement file path for the gnss proxy")
 
 DEFINE_vec (fixed_location_file_path, CF_DEFAULTS_FIXED_LOCATION_FILE_PATH, "Local fixed location file path for the gnss proxy")
 
 DEFINE_vec (enable_modem_simulator, CF_DEFAULTS_ENABLE_MODEM_SIMULATOR ? "true" :"false", "Enable the modem simulator to process RILD AT commands")
 
 DEFINE_vec (modem_simulator_sim_type, std::to_string(CF_DEFAULTS_MODEM_SIMULATOR_SIM_TYPE), "Sim type: 1 for normal, 2 for CtsCarrierApiTestCases")
 
 DEFINE_vec (console, fmt::format("{}", CF_DEFAULTS_CONSOLE), "Enable the serial console")
 
 DEFINE_vec (enable_kernel_log, fmt::format("{}", CF_DEFAULTS_ENABLE_KERNEL_LOG), "Enable kernel console/dmesg logging")
 
 DEFINE_vec (vhost_net, fmt::format("{}", CF_DEFAULTS_VHOST_NET), "Enable vhost acceleration of networking")
 
 DEFINE_vec (vhost_user_vsock, fmt::format("{}", CF_DEFAULTS_VHOST_USER_VSOCK), "Enable vhost-user-vsock")
 
 DEFINE_string (vhost_user_mac80211_hwsim, CF_DEFAULTS_VHOST_USER_MAC80211_HWSIM, "Unix socket path for vhost-user of mac80211_hwsim, typically served by " "wmediumd. You can set this when using an external wmediumd instance.")
 
 DEFINE_string (wmediumd_config, CF_DEFAULTS_WMEDIUMD_CONFIG, "Path to the wmediumd config file. When missing, the default " "configuration is used which adds MAC addresses for up to 16 " "cuttlefish instances including AP.")
 
 DEFINE_string (ap_rootfs_image, CF_DEFAULTS_AP_ROOTFS_IMAGE, "rootfs image for AP instance")
 
 DEFINE_string (ap_kernel_image, CF_DEFAULTS_AP_KERNEL_IMAGE, "kernel image for AP instance")
 
 DEFINE_vec (record_screen, fmt::format("{}", CF_DEFAULTS_RECORD_SCREEN), "Enable screen recording. " "Requires --start_webrtc")
 
 DEFINE_vec (smt, fmt::format("{}", CF_DEFAULTS_SMT), "Enable simultaneous multithreading (SMT/HT)")
 
 DEFINE_vec (vsock_guest_cid, std::to_string(CF_DEFAULTS_VSOCK_GUEST_CID), "vsock_guest_cid is used to determine the guest vsock cid as well as all " "the ports" "of all vsock servers such as tombstone or modem simulator(s)." "The vsock ports and guest vsock cid are a function of vsock_guest_cid and " "instance number." "An instance number of i th instance is determined by --num_instances=N " "and --base_instance_num=B" "The instance number of i th instance is B + i where i in [0, N-1] and B " ">= 1." "See --num_instances, and --base_instance_num for more information" "If --vsock_guest_cid=C is given and C >= 3, the guest vsock cid is C + i. " "Otherwise," "the guest vsock cid is 2 + instance number, which is 2 + (B + i)." "If --vsock_guest_cid is not given, each vsock server port number for i th " "instance is" "base + instance number - 1. vsock_guest_cid is by default B + i + 2." "Thus, by default, each port is base + vsock_guest_cid - 3." "The same formula holds when --vsock_guest_cid=C is given, for algorithm's " "sake." "Each vsock server port number is base + C - 3.")
 
 DEFINE_vec (vsock_guest_group, CF_DEFAULTS_VSOCK_GUEST_GROUP, "vsock_guest_group is used to determine the guest vsock isolation groups." "vsock communications can only happen between VMs which are tagged with " "the same group name, or between VMs which have no group assigned.")
 
 DEFINE_string (secure_hals, CF_DEFAULTS_SECURE_HALS, "Which HALs to use enable host security features for. Supports " "keymint and gatekeeper at the moment.")
 
 DEFINE_vec (use_sdcard, CF_DEFAULTS_USE_SDCARD?"true":"false", "Create blank SD-Card image and expose to guest")
 
 DEFINE_vec (protected_vm, fmt::format("{}", CF_DEFAULTS_PROTECTED_VM), "Boot in Protected VM mode")
 
 DEFINE_vec (mte, fmt::format("{}", CF_DEFAULTS_MTE), "Enable MTE")
 
 DEFINE_vec (enable_audio, fmt::format("{}", CF_DEFAULTS_ENABLE_AUDIO), "Whether to play or capture audio")
 
 DEFINE_vec (enable_usb, fmt::format("{}", CF_DEFAULTS_ENABLE_USB), "Whether to allow USB passthrough on the device")
 
 DEFINE_vec (enable_jcard_simulator, fmt::format("{}", CF_DEFAULTS_ENABLE_JCARD_SIMULATOR), "Whether to allow host jcard simulator on the device")
 
 DEFINE_vec (camera_server_port, std::to_string(CF_DEFAULTS_CAMERA_SERVER_PORT), "camera vsock port")
 
 DEFINE_vec (userdata_format, CF_DEFAULTS_USERDATA_FORMAT, "The userdata filesystem format")
 
 DEFINE_bool (use_overlay, CF_DEFAULTS_USE_OVERLAY, "Capture disk writes an overlay. This is a " "prerequisite for powerwash_cvd or multiple instances.")
 
 DEFINE_vec (modem_simulator_count, std::to_string(CF_DEFAULTS_MODEM_SIMULATOR_COUNT), "Modem simulator count corresponding to maximum sim number")
 
 DEFINE_bool (track_host_tools_crc, CF_DEFAULTS_TRACK_HOST_TOOLS_CRC, "Track changes to host executables")
 
 DEFINE_vec (crosvm_use_balloon, "true", "Controls the crosvm --no-balloon flag" "The flag is given if crosvm_use_balloon is false")
 
 DEFINE_vec (crosvm_use_rng, "true", "Controls the crosvm --no-rng flag" "The flag is given if crosvm_use_rng is false")
 
 DEFINE_vec (crosvm_simple_media_device, "false", "Controls the crosvm --simple-media-device flag" "The flag is given if crosvm_simple_media_device is true.")
 
 DEFINE_vec (crosvm_v4l2_proxy, CF_DEFAULTS_CROSVM_V4L2_PROXY, "Controls the crosvm --v4l2-proxy flag" "The flag is given if crosvm_v4l2_proxy is set with a valid string literal. " "When this flag is set, crosvm_simple_media_device becomes ineffective.")
 
 DEFINE_vec (use_pmem, "true", "Make this flag false to disable pmem with crosvm")
 
 DEFINE_bool (enable_wifi, true, "Enables the guest WIFI. Mainly for Minidroid")
 
 DEFINE_vec (device_external_network, CF_DEFAULTS_DEVICE_EXTERNAL_NETWORK, "The mechanism to connect to the public internet.")
 
 DEFINE_bool (snapshot_compatible, false, "Declaring that device is snapshot'able and runs with only " "supported ones.")
 
 DEFINE_string (straced_host_executables, CF_DEFAULTS_STRACED_HOST_EXECUTABLES, "Comma-separated list of executable names to run under strace " "to collect their system call information.")
 
 DEFINE_vec (fail_fast, CF_DEFAULTS_FAIL_FAST ? "true" :"false", "Whether to exit when a heuristic predicts the boot will not complete")
 
 DEFINE_vec (vhost_user_block, CF_DEFAULTS_VHOST_USER_BLOCK ? "true" :"false", "(experimental) use crosvm vhost-user block device implementation ")
 
 DEFINE_string (early_tmp_dir, cuttlefish::TempDir(), "Parent directory to use for temporary files in early startup")
 
 DEFINE_vec (enable_tap_devices, "true", "TAP devices are used on linux for connecting to the network " "outside the current machine.")
 
 DEFINE_vec (vcpu_config_path, CF_DEFAULTS_VCPU_CONFIG_PATH, "configuration file for Virtual Cpufreq")
 
 DEFINE_string (kvm_path, "", "Device node file used to create VMs. Uses a default if empty.")
 
 DEFINE_string (vhost_vsock_path, "", "Device node file for the kernel vhost-vsock implementation. " "Uses a default if empty. Ignored for QEMU.")
 
 DEFINE_string (assembly_dir, CF_DEFAULTS_ASSEMBLY_DIR, "A directory to put generated files common between instances")
 
 DEFINE_string (instance_dir, CF_DEFAULTS_INSTANCE_DIR, "This is a directory that will hold the cuttlefish generated" "files, including both instance-specific and common files")
 
 DEFINE_string (snapshot_path, "", "Path to snapshot. Must not be empty if the device is to be " "restored from a snapshot")
 
 DEFINE_bool (resume, CF_DEFAULTS_RESUME, "Resume using the disk from the last session, if " "possible. i.e., if --noresume is passed, the disk " "will be reset to the state it was initially launched " "in. This flag is ignored if the underlying partition " "images have been updated since the first launch." "If the device starts from a snapshot, this will be always true.")
 
 DEFINE_string (vbmeta_image, CF_DEFAULTS_VBMETA_IMAGE, "Location of cuttlefish vbmeta image. If empty it is assumed to " "be vbmeta.img in the directory specified by -system_image_dir.")
 
 DEFINE_string (vbmeta_system_image, CF_DEFAULTS_VBMETA_SYSTEM_IMAGE, "Location of cuttlefish vbmeta_system image. If empty it is assumed to " "be vbmeta_system.img in the directory specified by -system_image_dir.")
 
 DEFINE_string (vbmeta_vendor_dlkm_image, CF_DEFAULTS_VBMETA_VENDOR_DLKM_IMAGE, "Location of cuttlefish vbmeta_vendor_dlkm image. If empty it is assumed " "to " "be vbmeta_vendor_dlkm.img in the directory specified by " "-system_image_dir.")
 
 DEFINE_string (vbmeta_system_dlkm_image, CF_DEFAULTS_VBMETA_SYSTEM_DLKM_IMAGE, "Location of cuttlefish vbmeta_system_dlkm image. If empty it is assumed " "to " "be vbmeta_system_dlkm.img in the directory specified by " "-system_image_dir.")
 
 DEFINE_string (default_vvmtruststore_file_name, CF_DEFAULTS_DEFAULT_VVMTRUSTSTORE_FILE_NAME, "If the vvmtruststore_path parameter is empty then the default " "file name of the vvmtruststore image in the directory specified" " by -system_image_dir. If empty then there's no vvmtruststore " "image assumed by default.")
 
 DEFINE_string (vvmtruststore_path, CF_DEFAULTS_VVMTRUSTSTORE_PATH, "Location of the vvmtruststore image")
 
 DEFINE_string (default_target_zip, CF_DEFAULTS_DEFAULT_TARGET_ZIP, "Location of default target zip file.")
 
 DEFINE_string (system_target_zip, CF_DEFAULTS_SYSTEM_TARGET_ZIP, "Location of system target zip file.")
 
 DEFINE_string (linux_kernel_path, CF_DEFAULTS_LINUX_KERNEL_PATH, "Location of linux kernel for cuttlefish otheros flow.")
 
 DEFINE_string (linux_initramfs_path, CF_DEFAULTS_LINUX_INITRAMFS_PATH, "Location of linux initramfs.img for cuttlefish otheros flow.")
 
 DEFINE_string (linux_root_image, CF_DEFAULTS_LINUX_ROOT_IMAGE, "Location of linux root filesystem image for cuttlefish otheros flow.")
 
 DEFINE_string (chromeos_disk, CF_DEFAULTS_CHROMEOS_DISK, "Location of a complete ChromeOS GPT disk")
 
 DEFINE_string (chromeos_kernel_path, CF_DEFAULTS_CHROMEOS_KERNEL_PATH, "Location of the chromeos kernel for the chromeos flow.")
 
 DEFINE_string (chromeos_root_image, CF_DEFAULTS_CHROMEOS_ROOT_IMAGE, "Location of chromeos root filesystem image for chromeos flow.")
 
 DEFINE_string (fuchsia_zedboot_path, CF_DEFAULTS_FUCHSIA_ZEDBOOT_PATH, "Location of fuchsia zedboot path for cuttlefish otheros flow.")
 
 DEFINE_string (fuchsia_multiboot_bin_path, CF_DEFAULTS_FUCHSIA_MULTIBOOT_BIN_PATH, "Location of fuchsia multiboot bin path for cuttlefish otheros flow.")
 
 DEFINE_string (fuchsia_root_image, CF_DEFAULTS_FUCHSIA_ROOT_IMAGE, "Location of fuchsia root filesystem image for cuttlefish otheros flow.")
 
 DEFINE_string (custom_partition_path, CF_DEFAULTS_CUSTOM_PARTITION_PATH, "Location of custom image that will be passed as a \"custom\" partition" "to rootfs and can be used by /dev/block/by-name/custom. Multiple images " "can be passed, separated by semicolons and can be used as " "/dev/block/by-name/custom_1, /dev/block/by-name/custom_2, etc. Example: " "--custom_partition_path=\"/path/to/custom.img;/path/to/other.img\"")
 
 DEFINE_string (blank_sdcard_image_mb, CF_DEFAULTS_BLANK_SDCARD_IMAGE_MB, "If enabled, the size of the blank sdcard image to generate, MB.")
 

Macro Definition Documentation

◆ DEFINE_vec

#define DEFINE_vec   DEFINE_string

Function Documentation

◆ DEFINE_bool() [1/12]

DEFINE_bool ( enable_automotive_proxy  ,
CF_DEFAULTS_ENABLE_AUTOMOTIVE_PROXY  ,
"Enable the automotive proxy service on the host."   
)

◆ DEFINE_bool() [2/12]

DEFINE_bool ( enable_host_bluetooth  ,
CF_DEFAULTS_ENABLE_HOST_BLUETOOTH  ,
"Enable the rootcanal which is Bluetooth emulator in the host."   
)

◆ DEFINE_bool() [3/12]

DEFINE_bool ( enable_host_nfc  ,
CF_DEFAULTS_ENABLE_HOST_NFC  ,
"Enable the NFC emulator in the host."   
)

◆ DEFINE_bool() [4/12]

DEFINE_bool ( enable_host_uwb  ,
CF_DEFAULTS_ENABLE_HOST_UWB  ,
"Enable the uwb host and the uwb connector."   
)

◆ DEFINE_bool() [5/12]

DEFINE_bool ( enable_wifi  ,
true  ,
"Enables the guest WIFI. Mainly for Minidroid"   
)

◆ DEFINE_bool() [6/12]

DEFINE_bool ( netsim  ,
CF_DEFAULTS_NETSIM  ,
" Connect all radios to netsim."  [Experimental] 
)

◆ DEFINE_bool() [7/12]

DEFINE_bool ( netsim_bt  ,
CF_DEFAULTS_NETSIM_BT  ,
"Connect Bluetooth radio to netsim."   
)

◆ DEFINE_bool() [8/12]

DEFINE_bool ( netsim_uwb  ,
CF_DEFAULTS_NETSIM_UWB  ,
" Connect Uwb radio to netsim."  [Experimental] 
)

◆ DEFINE_bool() [9/12]

DEFINE_bool ( resume  ,
CF_DEFAULTS_RESUME  ,
"Resume using the disk from the last  session,
if " "possible. i.  e.,
if --noresume is  passed,
the disk " "will be reset to the state it was initially launched " "in. This flag is ignored if the underlying partition " "images have been updated since the first launch." "If the device starts from a  snapshot,
this will be always true."   
)

◆ DEFINE_bool() [10/12]

DEFINE_bool ( snapshot_compatible  ,
false  ,
"Declaring that device is snapshot'able and runs with only " "supported ones."   
)

◆ DEFINE_bool() [11/12]

DEFINE_bool ( track_host_tools_crc  ,
CF_DEFAULTS_TRACK_HOST_TOOLS_CRC  ,
"Track changes to host executables"   
)

◆ DEFINE_bool() [12/12]

DEFINE_bool ( use_overlay  ,
CF_DEFAULTS_USE_OVERLAY  ,
"Capture disk writes an overlay. This is a " "prerequisite for powerwash_cvd or multiple instances."   
)

◆ DEFINE_int32() [1/5]

DEFINE_int32 ( casimir_instance_num  ,
CF_DEFAULTS_CASIMIR_INSTANCE_NUM  ,
"If it is greater than  0,
use an existing casimir instance which is " "launched from cuttlefish instance " "with casimir_instance_num.  Else,
launch a new casimir instance"   
)

◆ DEFINE_int32() [2/5]

DEFINE_int32 ( num_instances  ,
CF_DEFAULTS_NUM_INSTANCES  ,
"Number of Android guests to launch"   
)

◆ DEFINE_int32() [3/5]

DEFINE_int32 ( pica_instance_num  ,
CF_DEFAULTS_ENABLE_PICA_INSTANCE_NUM  ,
"If it is greater than  0,
use an existing pica instance which is " "launched from cuttlefish instance " "with pica_instance_num.  Else,
launch a new pica instance"   
)

◆ DEFINE_int32() [4/5]

DEFINE_int32 ( rootcanal_instance_num  ,
CF_DEFAULTS_ROOTCANAL_INSTANCE_NUM  ,
"If it is greater than  0,
use an existing rootcanal instance which is " "launched from cuttlefish instance " "with rootcanal_instance_num.  Else,
launch a new rootcanal instance"   
)

◆ DEFINE_int32() [5/5]

DEFINE_int32 ( vhal_proxy_server_instance_num  ,
CF_DEFAULTS_VHAL_PROXY_SERVER_INSTANCE_NUM  ,
"If it is greater than  0,
use an existing vhal proxy server " "instance which is " "launched from cuttlefish instance " "with vhal_proxy_server_instance_num.  Else,
launch a new vhal " "proxy server instance"   
)

◆ DEFINE_string() [1/52]

DEFINE_string ( ap_kernel_image  ,
CF_DEFAULTS_AP_KERNEL_IMAGE  ,
"kernel image for AP instance"   
)

◆ DEFINE_string() [2/52]

DEFINE_string ( ap_rootfs_image  ,
CF_DEFAULTS_AP_ROOTFS_IMAGE  ,
"rootfs image for AP instance"   
)

◆ DEFINE_string() [3/52]

DEFINE_string ( assembly_dir  ,
CF_DEFAULTS_ASSEMBLY_DIR  ,
"A directory to put generated files common between instances"   
)

◆ DEFINE_string() [4/52]

DEFINE_string ( blank_sdcard_image_mb  ,
CF_DEFAULTS_BLANK_SDCARD_IMAGE_MB  ,
"If  enabled,
the size of the blank sdcard image to  generate,
MB."   
)

◆ DEFINE_string() [5/52]

DEFINE_string ( casimir_args  ,
CF_DEFAULTS_CASIMIR_ARGS  ,
"Space-separated list of casimir args."   
)

◆ DEFINE_string() [6/52]

DEFINE_string ( chromeos_disk  ,
CF_DEFAULTS_CHROMEOS_DISK  ,
"Location of a complete ChromeOS GPT disk"   
)

◆ DEFINE_string() [7/52]

DEFINE_string ( chromeos_kernel_path  ,
CF_DEFAULTS_CHROMEOS_KERNEL_PATH  ,
"Location of the chromeos kernel for the chromeos flow."   
)

◆ DEFINE_string() [8/52]

DEFINE_string ( chromeos_root_image  ,
CF_DEFAULTS_CHROMEOS_ROOT_IMAGE  ,
"Location of chromeos root filesystem image for chromeos flow."   
)

◆ DEFINE_string() [9/52]

DEFINE_string ( crosvm_binary  ,
CF_DEFAULTS_CROSVM_BINARY  ,
"The Crosvm binary to use"   
)

◆ DEFINE_string() [10/52]

DEFINE_string ( custom_partition_path  ,
CF_DEFAULTS_CUSTOM_PARTITION_PATH  ,
"Location of custom image that will be passed as a \"custom\" partition" "to rootfs and can be used by /dev/block/by-name/custom. Multiple images " "can be  passed,
separated by semicolons and can be used as " "/dev/block/by-name/  custom_1,
/dev/block/by-name/  custom_2,
etc. Example:" "--  custom_partition_path = \"/path/to/custom.img;/path/to/other.img\"" 
)

◆ DEFINE_string() [11/52]

DEFINE_string ( default_target_zip  ,
CF_DEFAULTS_DEFAULT_TARGET_ZIP  ,
"Location of default target zip file."   
)

◆ DEFINE_string() [12/52]

DEFINE_string ( default_vvmtruststore_file_name  ,
CF_DEFAULTS_DEFAULT_VVMTRUSTSTORE_FILE_NAME  ,
"If the vvmtruststore_path parameter is empty then the default " "file name of the vvmtruststore image in the directory specified" " by -system_image_dir. If empty then there's no vvmtruststore " "image assumed by default."   
)

◆ DEFINE_string() [13/52]

DEFINE_string ( display0  ,
CF_DEFAULTS_DISPLAY0  ,
cuttlefish::kDisplayHelp   
)

◆ DEFINE_string() [14/52]

DEFINE_string ( display1  ,
CF_DEFAULTS_DISPLAY1  ,
cuttlefish::kDisplayHelp   
)

◆ DEFINE_string() [15/52]

DEFINE_string ( display2  ,
CF_DEFAULTS_DISPLAY2  ,
cuttlefish::kDisplayHelp   
)

◆ DEFINE_string() [16/52]

DEFINE_string ( display3  ,
CF_DEFAULTS_DISPLAY3  ,
cuttlefish::kDisplayHelp   
)

◆ DEFINE_string() [17/52]

DEFINE_string ( dpi  ,
"0"  ,
"Pixels per inch for the screen"   
)

◆ DEFINE_string() [18/52]

DEFINE_string ( early_tmp_dir  ,
cuttlefish::TempDir()  ,
"Parent directory to use for temporary files in early startup"   
)

◆ DEFINE_string() [19/52]

DEFINE_string ( extra_bootconfig_args  ,
CF_DEFAULTS_EXTRA_BOOTCONFIG_ARGS   
)

◆ DEFINE_string() [20/52]

DEFINE_string ( extra_kernel_cmdline  ,
CF_DEFAULTS_EXTRA_KERNEL_CMDLINE  ,
"Additional flags to put on the kernel command line"   
)

◆ DEFINE_string() [21/52]

DEFINE_string ( fuchsia_multiboot_bin_path  ,
CF_DEFAULTS_FUCHSIA_MULTIBOOT_BIN_PATH  ,
"Location of fuchsia multiboot bin path for cuttlefish otheros flow."   
)

◆ DEFINE_string() [22/52]

DEFINE_string ( fuchsia_root_image  ,
CF_DEFAULTS_FUCHSIA_ROOT_IMAGE  ,
"Location of fuchsia root filesystem image for cuttlefish otheros flow."   
)

◆ DEFINE_string() [23/52]

DEFINE_string ( fuchsia_zedboot_path  ,
CF_DEFAULTS_FUCHSIA_ZEDBOOT_PATH  ,
"Location of fuchsia zedboot path for cuttlefish otheros flow."   
)

◆ DEFINE_string() [24/52]

DEFINE_string ( gem5_debug_flags  ,
CF_DEFAULTS_GEM5_DEBUG_FLAGS  ,
"The debug flags gem5 uses to print debugs to file"   
)

◆ DEFINE_string() [25/52]

DEFINE_string ( instance_dir  ,
CF_DEFAULTS_INSTANCE_DIR  ,
"This is a directory that will hold the cuttlefish generated" "  files,
including both instance-specific and common files"   
)

◆ DEFINE_string() [26/52]

DEFINE_string ( instance_nums  ,
CF_DEFAULTS_INSTANCE_NUMS  ,
"A comma-separated list of instance numbers " "to use. Mutually exclusive with base_instance_num."   
)

◆ DEFINE_string() [27/52]

DEFINE_string ( kvm_path  ,
""  ,
"Device node file used to create VMs. Uses a default if empty."   
)

◆ DEFINE_string() [28/52]

DEFINE_string ( linux_initramfs_path  ,
CF_DEFAULTS_LINUX_INITRAMFS_PATH  ,
"Location of linux initramfs.img for cuttlefish otheros flow."   
)

◆ DEFINE_string() [29/52]

DEFINE_string ( linux_kernel_path  ,
CF_DEFAULTS_LINUX_KERNEL_PATH  ,
"Location of linux kernel for cuttlefish otheros flow."   
)

◆ DEFINE_string() [30/52]

DEFINE_string ( linux_root_image  ,
CF_DEFAULTS_LINUX_ROOT_IMAGE  ,
"Location of linux root filesystem image for cuttlefish otheros flow."   
)

◆ DEFINE_string() [31/52]

DEFINE_string ( netsim_args  ,
CF_DEFAULTS_NETSIM_ARGS  ,
"Space-separated list of netsim args."   
)

◆ DEFINE_string() [32/52]

DEFINE_string ( overlays  ,
""  ,
"List of displays to overlay. Format is: 'vm_index:display_index " "vm_index2:display_index2 '"  [...] 
)

◆ DEFINE_string() [33/52]

DEFINE_string ( qemu_binary_dir  ,
CF_DEFAULTS_QEMU_BINARY_DIR  ,
"Path to the directory containing the qemu binary to use"   
)

◆ DEFINE_string() [34/52]

DEFINE_string ( refresh_rate_hz  ,
"60"  ,
"Screen refresh rate in Hertz"   
)

◆ DEFINE_string() [35/52]

DEFINE_string ( report_anonymous_usage_stats  ,
CF_DEFAULTS_REPORT_ANONYMOUS_USAGE_STATS  ,
"Report anonymous usage " "statistics for metrics collection and analysis."   
)

◆ DEFINE_string() [36/52]

DEFINE_string ( rootcanal_args  ,
CF_DEFAULTS_ROOTCANAL_ARGS  ,
"Space-separated list of rootcanal args. "   
)

◆ DEFINE_string() [37/52]

DEFINE_string ( seccomp_policy_dir  ,
CF_DEFAULTS_SECCOMP_POLICY_DIR  ,
"With sandbox'ed  crosvm,
overrieds the security comp policy directory"   
)

◆ DEFINE_string() [38/52]

DEFINE_string ( secure_hals  ,
CF_DEFAULTS_SECURE_HALS  ,
"Which HALs to use enable host security features for. Supports " "keymint and gatekeeper at the moment."   
)

◆ DEFINE_string() [39/52]

DEFINE_string ( snapshot_path  ,
""  ,
"Path to snapshot. Must not be empty if the device is to be " "restored from a snapshot"   
)

◆ DEFINE_string() [40/52]

DEFINE_string ( straced_host_executables  ,
CF_DEFAULTS_STRACED_HOST_EXECUTABLES  ,
"Comma-separated list of executable names to run under strace " "to collect their system call information."   
)

◆ DEFINE_string() [41/52]

DEFINE_string ( system_target_zip  ,
CF_DEFAULTS_SYSTEM_TARGET_ZIP  ,
"Location of system target zip file."   
)

◆ DEFINE_string() [42/52]

DEFINE_string ( vbmeta_image  ,
CF_DEFAULTS_VBMETA_IMAGE  ,
"Location of cuttlefish vbmeta image. If empty it is assumed to " "be vbmeta.img in the directory specified by -system_image_dir."   
)

◆ DEFINE_string() [43/52]

DEFINE_string ( vbmeta_system_dlkm_image  ,
CF_DEFAULTS_VBMETA_SYSTEM_DLKM_IMAGE  ,
"Location of cuttlefish vbmeta_system_dlkm image. If empty it is assumed " "to " "be vbmeta_system_dlkm.img in the directory specified by " "-system_image_dir."   
)

◆ DEFINE_string() [44/52]

DEFINE_string ( vbmeta_system_image  ,
CF_DEFAULTS_VBMETA_SYSTEM_IMAGE  ,
"Location of cuttlefish vbmeta_system image. If empty it is assumed to " "be vbmeta_system.img in the directory specified by -system_image_dir."   
)

◆ DEFINE_string() [45/52]

DEFINE_string ( vbmeta_vendor_dlkm_image  ,
CF_DEFAULTS_VBMETA_VENDOR_DLKM_IMAGE  ,
"Location of cuttlefish vbmeta_vendor_dlkm image. If empty it is assumed " "to " "be vbmeta_vendor_dlkm.img in the directory specified by " "-system_image_dir."   
)

◆ DEFINE_string() [46/52]

DEFINE_string ( vhost_user_mac80211_hwsim  ,
CF_DEFAULTS_VHOST_USER_MAC80211_HWSIM  ,
"Unix socket path for vhost-user of  mac80211_hwsim,
typically served by " "wmediumd. You can set this when using an external wmediumd instance."   
)

◆ DEFINE_string() [47/52]

DEFINE_string ( vhost_vsock_path  ,
""  ,
"Device node file for the kernel vhost-vsock implementation. " "Uses a default if empty. Ignored for QEMU."   
)

◆ DEFINE_string() [48/52]

DEFINE_string ( vvmtruststore_path  ,
CF_DEFAULTS_VVMTRUSTSTORE_PATH  ,
"Location of the vvmtruststore image  
)

◆ DEFINE_string() [49/52]

DEFINE_string ( webrtc_sig_server_addr  ,
CF_DEFAULTS_WEBRTC_SIG_SERVER_ADDR  ,
"The address of the webrtc signaling server."   
)

◆ DEFINE_string() [50/52]

DEFINE_string ( wmediumd_config  ,
CF_DEFAULTS_WMEDIUMD_CONFIG  ,
"Path to the wmediumd config file. When  missing,
the default " "configuration is used which adds MAC addresses for up to 16 " "cuttlefish instances including AP."   
)

◆ DEFINE_string() [51/52]

DEFINE_string ( x_res  ,
"0"  ,
"Width of the screen in pixels"   
)

◆ DEFINE_string() [52/52]

DEFINE_string ( y_res  ,
"0"  ,
"Height of the screen in pixels"   
)

◆ DEFINE_vec() [1/73]

DEFINE_vec ( boot_slot  ,
CF_DEFAULTS_BOOT_SLOT  ,
"Force booting into the given slot. If  empty,
" "the slot will be chosen based on the misc partition if using a " "bootloader. It will default to 'a' if empty and not using a " "bootloader."   
)

◆ DEFINE_vec() [2/73]

DEFINE_vec ( camera_server_port  ,
std::to_string(CF_DEFAULTS_CAMERA_SERVER_PORT ,
"camera vsock port"   
)

◆ DEFINE_vec() [3/73]

DEFINE_vec ( console  ,
fmt::format("{}", CF_DEFAULTS_CONSOLE ,
"Enable the serial console"   
)

◆ DEFINE_vec() [4/73]

DEFINE_vec ( crosvm_simple_media_device  ,
"false"  ,
"Controls the crosvm --simple-media-device flag" "The flag is given if crosvm_simple_media_device is true."   
)

◆ DEFINE_vec() [5/73]

DEFINE_vec ( crosvm_use_balloon  ,
"true"  ,
"Controls the crosvm --no-balloon flag" "The flag is given if crosvm_use_balloon is false"   
)

◆ DEFINE_vec() [6/73]

DEFINE_vec ( crosvm_use_rng  ,
"true"  ,
"Controls the crosvm --no-rng flag" "The flag is given if crosvm_use_rng is false"   
)

◆ DEFINE_vec() [7/73]

DEFINE_vec ( crosvm_v4l2_proxy  ,
CF_DEFAULTS_CROSVM_V4L2_PROXY  ,
"Controls the crosvm --v4l2-proxy flag" "The flag is given if crosvm_v4l2_proxy is set with a valid string literal. " "When this flag is  set,
crosvm_simple_media_device becomes ineffective."   
)

◆ DEFINE_vec() [8/73]

DEFINE_vec ( daemon  ,
CF_DEFAULTS_DAEMON?"true":"false"  ,
"Run cuttlefish in  background,
the launcher exits on boot " "completed/failed"   
)

◆ DEFINE_vec() [9/73]

DEFINE_vec ( data_policy  ,
CF_DEFAULTS_DATA_POLICY  ,
"How to handle userdata partition." " Either 'use_existing'  ,
'create_if_missing'  ,
'resize_up_to'  ,
or " " 'always_create'."   
)

◆ DEFINE_vec() [10/73]

DEFINE_vec ( device_external_network  ,
CF_DEFAULTS_DEVICE_EXTERNAL_NETWORK  ,
"The mechanism to connect to the public internet."   
)

◆ DEFINE_vec() [11/73]

DEFINE_vec ( enable_audio  ,
fmt::format("{}", CF_DEFAULTS_ENABLE_AUDIO ,
"Whether to play or capture audio"   
)

◆ DEFINE_vec() [12/73]

DEFINE_vec ( enable_bootanimation  ,
fmt::format("{}", CF_DEFAULTS_ENABLE_BOOTANIMATION ,
"Whether to enable the boot animation."   
)

◆ DEFINE_vec() [13/73]

DEFINE_vec ( enable_gpu_udmabuf  ,
fmt::format("{}", CF_DEFAULTS_ENABLE_GPU_UDMABUF ,
"Use the udmabuf driver for zero-copy virtio-gpu"   
)

◆ DEFINE_vec() [14/73]

DEFINE_vec ( enable_jcard_simulator  ,
fmt::format("{}", CF_DEFAULTS_ENABLE_JCARD_SIMULATOR ,
"Whether to allow host jcard simulator on the device"   
)

◆ DEFINE_vec() [15/73]

DEFINE_vec ( enable_kernel_log  ,
fmt::format("{}", CF_DEFAULTS_ENABLE_KERNEL_LOG ,
"Enable kernel console/dmesg logging"   
)

◆ DEFINE_vec() [16/73]

DEFINE_vec ( enable_minimal_mode  ,
CF_DEFAULTS_ENABLE_MINIMAL_MODE ? "true" :"false"  ,
"Only enable the minimum features to boot a cuttlefish device and " "support minimal UI interactions.\nNote: Currently only supports " "handheld/phone targets"   
)

◆ DEFINE_vec() [17/73]

DEFINE_vec ( enable_modem_simulator  ,
CF_DEFAULTS_ENABLE_MODEM_SIMULATOR ? "true" :"false"  ,
"Enable the modem simulator to process RILD AT commands"   
)

◆ DEFINE_vec() [18/73]

DEFINE_vec ( enable_sandbox  ,
fmt::format("{}", CF_DEFAULTS_ENABLE_SANDBOX ,
"Enable crosvm sandbox assuming /var/empty and seccomp directories exist. " "--noenable-sandbox will disable crosvm sandbox. " "When no option is  given,
sandbox is disabled if Cuttlefish is running " "inside a  container,
or if GPU is   enabledb/152323505,
" "or if the empty/var/empty directory either does not exist and " "cannot be created.  Otherwise,
sandbox is enabled on the supported " "architecture when no option is given."   
)

crosvm sandbox feature requires /var/empty and seccomp directory

Also see SetDefaultFlagsForCrosvm()

◆ DEFINE_vec() [19/73]

DEFINE_vec ( enable_tap_devices  ,
"true"  ,
"TAP devices are used on linux for connecting to the network " "outside the current machine."   
)

◆ DEFINE_vec() [20/73]

DEFINE_vec ( enable_usb  ,
fmt::format("{}", CF_DEFAULTS_ENABLE_USB ,
"Whether to allow USB passthrough on the device"   
)

◆ DEFINE_vec() [21/73]

DEFINE_vec ( enable_vhal_proxy_server  ,
fmt::format("{}", CF_DEFAULTS_ENABLE_VHAL_PROXY_SERVER ,
"Enable the vhal proxy service on the host."   
)

◆ DEFINE_vec() [22/73]

DEFINE_vec ( enable_virtiofs  ,
fmt::format("{}", CF_DEFAULTS_ENABLE_VIRTIOFS ,
"Enable shared folder using virtiofs"   
)

◆ DEFINE_vec() [23/73]

DEFINE_vec ( extra_bootconfig_args_base64  ,
CF_DEFAULTS_EXTRA_BOOTCONFIG_ARGS  ,
"This is base64 encoded version of extra_bootconfig_args" "Used for multi device clusters."   
)

◆ DEFINE_vec() [24/73]

DEFINE_vec ( fail_fast  ,
CF_DEFAULTS_FAIL_FAST ? "true" :"false"  ,
"Whether to exit when a heuristic predicts the boot will not complete"   
)

◆ DEFINE_vec() [25/73]

DEFINE_vec ( fixed_location_file_path  ,
CF_DEFAULTS_FIXED_LOCATION_FILE_PATH  ,
"Local fixed location file path for the gnss proxy"   
)

◆ DEFINE_vec() [26/73]

DEFINE_vec ( frames_socket_path  ,
CF_DEFAULTS_FRAME_SOCKET_PATH  ,
"Frame socket path to use when launching a VM " "For  example,
\"--  frames_socket_path = ${XDG_RUNTIME_DIR}/wayland-0\"" 
)

◆ DEFINE_vec() [27/73]

DEFINE_vec ( gdb_port  ,
std::to_string(CF_DEFAULTS_GDB_PORT  
)

◆ DEFINE_vec() [28/73]

DEFINE_vec ( gem5_binary_dir  ,
CF_DEFAULTS_GEM5_BINARY_DIR  ,
"Path to the gem5 build tree root"   
)

◆ DEFINE_vec() [29/73]

DEFINE_vec ( gem5_checkpoint_dir  ,
CF_DEFAULTS_GEM5_CHECKPOINT_DIR  ,
"Path to the gem5 restore checkpoint directory"   
)

◆ DEFINE_vec() [30/73]

DEFINE_vec ( gem5_debug_file  ,
CF_DEFAULTS_GEM5_DEBUG_FILE  ,
"The file name where gem5 saves debug prints and logs"   
)

◆ DEFINE_vec() [31/73]

DEFINE_vec ( gnss_file_path  ,
CF_DEFAULTS_GNSS_FILE_PATH  ,
"Local gnss raw measurement file path for the gnss proxy"   
)

◆ DEFINE_vec() [32/73]

DEFINE_vec ( gpu_capture_binary  ,
CF_DEFAULTS_GPU_CAPTURE_BINARY  ,
"Path to the GPU capture binary to use when capturing GPU traces" "(ngfx, renderdoc, etc)"   
)

◆ DEFINE_vec() [33/73]

DEFINE_vec ( gpu_context_types  ,
CF_DEFAULTS_GPU_CONTEXT_TYPES  ,
"A colon separated list of virtio-gpu context types. Only valid " "with --  gpu_mode = custom." " For example \"--gpu_context_types=cross_domain:gfxstream\"" 
)

◆ DEFINE_vec() [34/73]

DEFINE_vec ( gpu_mode  ,
CF_DEFAULTS_GPU_MODE  ,
"What gpu configuration to  use,
one of {auto, custom, drm_virgl, " "gfxstream, gfxstream_guest_angle, " "gfxstream_guest_angle_host_swiftshader, " "gfxstream_guest_angle_host_lavapipe, guest_swiftshader}"   
)

◆ DEFINE_vec() [35/73]

DEFINE_vec ( gpu_renderer_features  ,
CF_DEFAULTS_GPU_RENDERER_FEATURES  ,
"Renderer specific features to enable. For  Gfxstream,
this should " "be a semicolon separated list of \"<feature name>:\"" "pairs."  [enabled|disabled] 
)

◆ DEFINE_vec() [36/73]

DEFINE_vec ( gpu_vhost_user_mode  ,
fmt::format("{}", CF_DEFAULTS_GPU_VHOST_USER_MODE ,
"Whether or not to run the Virtio GPU worker in a separate" "process using vhost-user-gpu. One of {auto, on, off}."   
)

◆ DEFINE_vec() [37/73]

DEFINE_vec ( guest_enforce_security  ,
fmt::format("{}", CF_DEFAULTS_GUEST_ENFORCE_SECURITY ,
"Whether to run in enforcing mode (non permissive)."   
)

◆ DEFINE_vec() [38/73]

DEFINE_vec ( guest_hwui_renderer  ,
CF_DEFAULTS_GUEST_HWUI_RENDERER  ,
"The default renderer that HWUI should  use,
one of {skiagl, skiavk}."   
)

◆ DEFINE_vec() [39/73]

DEFINE_vec ( guest_renderer_preload  ,
CF_DEFAULTS_GUEST_RENDERER_PRELOAD  ,
"Whether or not Zygote renderer preload is  disabled,
one of {auto, " "enabled, disabled}. Auto will choose whether or not to disable " "based on the gpu mode and guest hwui renderer."   
)

◆ DEFINE_vec() [40/73]

DEFINE_vec ( guest_vulkan_driver  ,
CF_DEFAULTS_GUEST_VULKAN_DRIVER  ,
"Vulkan driver to use with Cuttlefish. Android VMs require specifying " "this at boot time. Only valid with --  gpu_mode = custom. " "For example \"--guest_vulkan_driver=ranchu\"" 
)

◆ DEFINE_vec() [41/73]

DEFINE_vec ( hwcomposer  ,
CF_DEFAULTS_HWCOMPOSER  ,
"What hardware composer to  use,
one of {auto, drm, ranchu} "   
)

◆ DEFINE_vec() [42/73]

DEFINE_vec ( kgdb  ,
fmt::format("{}", CF_DEFAULTS_KGDB ,
"Configure the virtual device for debugging the kernel " "with kgdb/kdb. The kernel must have been built with " "kgdb  support,
and serial console must be enabled."   
)

◆ DEFINE_vec() [43/73]

DEFINE_vec ( memory_mb  ,
std::to_string(CF_DEFAULTS_MEMORY_MB ,
"Total amount of memory available for  guest,
MB."   
)

◆ DEFINE_vec() [44/73]

DEFINE_vec ( modem_simulator_count  ,
std::to_string(CF_DEFAULTS_MODEM_SIMULATOR_COUNT ,
"Modem simulator count corresponding to maximum sim number"   
)

◆ DEFINE_vec() [45/73]

DEFINE_vec ( modem_simulator_sim_type  ,
std::to_string(CF_DEFAULTS_MODEM_SIMULATOR_SIM_TYPE ,
"Sim type: 1 for  normal,
2 for CtsCarrierApiTestCases"   
)

◆ DEFINE_vec() [46/73]

DEFINE_vec ( mte  ,
fmt::format("{}", CF_DEFAULTS_MTE ,
"Enable MTE"   
)

◆ DEFINE_vec() [47/73]

DEFINE_vec ( pause_in_bootloader  ,
CF_DEFAULTS_PAUSE_IN_BOOTLOADER?"true":"false"  ,
"Stop the bootflow in u-boot. You can continue the boot by connecting " "to the device console and typing in \"boot\"."   
)

◆ DEFINE_vec() [48/73]

DEFINE_vec ( protected_vm  ,
fmt::format("{}", CF_DEFAULTS_PROTECTED_VM ,
"Boot in Protected VM mode"   
)

◆ DEFINE_vec() [49/73]

DEFINE_vec ( record_screen  ,
fmt::format("{}", CF_DEFAULTS_RECORD_SCREEN ,
"Enable screen recording. " "Requires --start_webrtc"   
)

◆ DEFINE_vec() [50/73]

DEFINE_vec ( restart_subprocesses  ,
fmt::format("{}", CF_DEFAULTS_RESTART_SUBPROCESSES ,
"Restart any crashed host process  
)

◆ DEFINE_vec() [51/73]

DEFINE_vec ( ril_dns  ,
CF_DEFAULTS_RIL_DNS  ,
"DNS address of mobile network (RIL)"   
)

◆ DEFINE_vec() [52/73]

DEFINE_vec ( serial_number  ,
CF_DEFAULTS_SERIAL_NUMBER  ,
"Serial number to use for the device"   
)

◆ DEFINE_vec() [53/73]

DEFINE_vec ( setupwizard_mode  ,
CF_DEFAULTS_SETUPWIZARD_MODE  ,
"One of  DISABLED,
OPTIONAL  ,
REQUIRED"   
)

◆ DEFINE_vec() [54/73]

DEFINE_vec ( smt  ,
fmt::format("{}", CF_DEFAULTS_SMT ,
"Enable simultaneous multithreading (SMT/HT)"   
)

◆ DEFINE_vec() [55/73]

DEFINE_vec ( start_gnss_proxy  ,
fmt::format("{}", CF_DEFAULTS_START_GNSS_PROXY ,
"Whether to start the gnss proxy."   
)

◆ DEFINE_vec() [56/73]

DEFINE_vec ( start_webrtc  ,
fmt::format("{}", CF_DEFAULTS_START_WEBRTC ,
"(Deprecated, webrtc is enabled depending on the VMM)"   
)

◆ DEFINE_vec() [57/73]

DEFINE_vec ( tcp_port_range  ,
CF_DEFAULTS_TCP_PORT_RANGE  ,
"The minimum and maximum TCP port numbers to allocate for ICE " "candidates as 'min:max'. To use any port just specify '0:0'"   
)

◆ DEFINE_vec() [58/73]

DEFINE_vec ( udp_port_range  ,
CF_DEFAULTS_UDP_PORT_RANGE  ,
"The minimum and maximum UDP port numbers to allocate for ICE " "candidates as 'min:max'. To use any port just specify '0:0'"   
)

◆ DEFINE_vec() [59/73]

DEFINE_vec ( use_allocd  ,
CF_DEFAULTS_USE_ALLOCD?"true":"false"  ,
"Acquire static resources from the resource allocator daemon."   
)

◆ DEFINE_vec() [60/73]

DEFINE_vec ( use_cvdalloc  ,
CF_DEFAULTS_USE_CVDALLOC? "true":"false"  ,
"Acquire static resources with cvdalloc."   
)

◆ DEFINE_vec() [61/73]

DEFINE_vec ( use_pmem  ,
"true"  ,
"Make this flag false to disable pmem with crosvm"   
)

◆ DEFINE_vec() [62/73]

DEFINE_vec ( use_random_serial  ,
fmt::format("{}", CF_DEFAULTS_USE_RANDOM_SERIAL ,
"Whether to use random serial for the device."   
)

◆ DEFINE_vec() [63/73]

DEFINE_vec ( use_sdcard  ,
CF_DEFAULTS_USE_SDCARD?"true":"false"  ,
"Create blank SD-Card image and expose to guest"   
)

◆ DEFINE_vec() [64/73]

DEFINE_vec ( userdata_format  ,
CF_DEFAULTS_USERDATA_FORMAT  ,
"The userdata filesystem format"   
)

◆ DEFINE_vec() [65/73]

DEFINE_vec ( uuid  ,
CF_DEFAULTS_UUID  ,
"UUID to use for the device. Random if not specified"   
)

◆ DEFINE_vec() [66/73]

DEFINE_vec ( vcpu_config_path  ,
CF_DEFAULTS_VCPU_CONFIG_PATH  ,
"configuration file for Virtual Cpufreq"   
)

◆ DEFINE_vec() [67/73]

DEFINE_vec ( vhost_net  ,
fmt::format("{}", CF_DEFAULTS_VHOST_NET ,
"Enable vhost acceleration of networking"   
)

◆ DEFINE_vec() [68/73]

DEFINE_vec ( vhost_user_block  ,
CF_DEFAULTS_VHOST_USER_BLOCK ? "true" :"false"  ,
"(experimental) use crosvm vhost-user block device implementation "   
)

◆ DEFINE_vec() [69/73]

DEFINE_vec ( vhost_user_vsock  ,
fmt::format("{}", CF_DEFAULTS_VHOST_USER_VSOCK ,
"Enable vhost-user-vsock"   
)

◆ DEFINE_vec() [70/73]

DEFINE_vec ( vsock_guest_cid  ,
std::to_string(CF_DEFAULTS_VSOCK_GUEST_CID ,
"vsock_guest_cid is used to determine the guest vsock cid as well as all " "the ports" "of all vsock servers such as tombstone or modem simulator(s)." "The vsock ports and guest vsock cid are a function of vsock_guest_cid and " "instance number." "An instance number of i th instance is determined by --  num_instances = N " "and --base_instance_num=B" "The instance number of i th instance is B + i where i in [0, N-1] and B " ">= 1." "See --num_instances,
and --base_instance_num for more information" "If --  vsock_guest_cid = C is given and C >= 3,
the guest vsock cid is C+i. " "  Otherwise,
" "the guest vsock cid is 2+instance  number,
which is 2+(B+i)." "If --vsock_guest_cid is not  given,
each vsock server port number for i th " "instance is" "base+instance number - 1. vsock_guest_cid is by default B+i+2." "  Thus,
by  default,
each port is base+vsock_guest_cid - 3." "The same formula holds when --  vsock_guest_cid = C is given,
for algorithm 's " "sake." "Each vsock server port number is base+C - 3."   
)

◆ DEFINE_vec() [71/73]

DEFINE_vec ( vsock_guest_group  ,
CF_DEFAULTS_VSOCK_GUEST_GROUP  ,
"vsock_guest_group is used to determine the guest vsock isolation groups." "vsock communications can only happen between VMs which are tagged with " "the same group  name,
or between VMs which have no group assigned."   
)

◆ DEFINE_vec() [72/73]

DEFINE_vec ( webrtc_assets_dir  ,
CF_DEFAULTS_WEBRTC_ASSETS_DIR  ,
"Path to WebRTC webpage assets."   
)

◆ DEFINE_vec() [73/73]

DEFINE_vec ( webrtc_device_id  ,
CF_DEFAULTS_WEBRTC_DEVICE_ID  ,
"The for the device to register with the signaling server. Every " "appearance of the substring '{num}' in the device id will be substituted " "with the instance number to support multiple instances"   
)