blob: 55bcc255af4802d675b5d9af7fc4e85a3570fb32 [file] [log] [blame] [view]
<!-- DO NOT EDIT THIS FILE DIRECTLY
This file is generated using clidoc by parsing the help output of this tool.
Please edit the help output or clidoc's processing of that output to make changes
to this file.
-->
# ffx
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx [-c <config...>] [-e <env>] [-t <target>] [-T <timeout>] [<command>] [<args>]
Fuchsia's developer tool
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-c, --config override default configuration
-e, --env override default environment settings
-t, --target apply operations across single or multiple targets
-T, --timeout override default proxy timeout
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
net View and manage target network configuration
assembly Assemble images
component Discover and manage components
config View and switch default and user configurations
cts Build and run CTS tests.
daemon Interact with/control the ffx daemon
debug Start a debugging session.
doctor Run common checks for the ffx tool and host environment
driver Support driver development workflows
efi Manipulate efi partition
emu Start and manage Fuchsia emulators
flutter Interact with Flutter components on the target.
inspect Query component nodes exposed via the Inspect API
overnet Interact with the Overnet mesh
package Create and publish Fuchsia packages
platform Manage platform build prerequisites
profile Profile run-time information from various subsystems
repository Inspect and manage package repositories
scrutiny Audit the security of Fuchsia
sdk Modify or query the installed SDKs
self-test Execute the ffx self-test (e2e) suite
session Control the session
starnix Control starnix processes
target Interact with a target device or emulator
trace Interact with the tracing subsystem
version Print out ffx tool and daemon versions
test Run test suite
```
## assembly
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx assembly <command> [<args>]
Assemble images
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
vbmeta vbmeta operations
image perform the assembly of images
extract extract information from an image.
```
### extract
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx assembly extract --outdir <outdir> --zbi <zbi>
extract information from an image.
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--outdir the directory to write extracted artifacts to.
--zbi the zircon boot image in ZBI format, usually named
fuchsia.zbi.
--help display usage information
```
### image
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx assembly image --product <product> --board <board> --outdir <outdir> [--gendir <gendir>] [--full]
perform the assembly of images
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--product the configuration file that specifies the packages,
binaries, and settings specific to the product being
assembled.
--board the configuration file that specifies the packages,
binaries, and settings specific to the board being
assembled.
--outdir the directory to write assembled outputs to.
--gendir the directory to write generated intermediate files to.
--full run all assembly steps, even though they haven't yet been
fully integrated. This is a temporary argument.
--help display usage information
```
### vbmeta
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx assembly vbmeta <command> [<args>]
vbmeta operations
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
sign create and sign a vbmeta image.
```
#### sign
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx assembly vbmeta sign --name <name> --image-path <image-path> --key <key> --key-metadata <key-metadata> [--salt-file <salt-file>] [--additional-descriptor <additional-descriptor...>] --output <output> [--salt-outfile <salt-outfile>]
create and sign a vbmeta image.
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--name the name of the image being signed
--image-path the path to the image to sign
--key the path to the PEM file containing the signing key to use.
--key-metadata the path to the metadata file for the signing key.
--salt-file the file containing salt for the vbmeta signing operation.
This is only to be used as part of testing the vbmeta
signing operation, and must be a path to a file that
contains a 64-char hex string of bytes.
--additional-descriptor
descriptors for additional partitions to include, as paths
to json files
--output the output file to write the vbmeta image to.
--salt-outfile the output file to write the salt value used to
--help display usage information
```
## component
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx component <command> [<args>]
Discover and manage components
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
bind Binds to the component designated by the provided relative
moniker
knock Connect to a service on the target
list List all components, with the option of listing only cmx/cml
components
run Create and run a v2 component instance in an isolated realm
run-legacy Run a v1 component on the target
select Lists components matching a selector
show Show useful information about a component
stop Stops the component designated by the provided relative
moniker
test Run test suite
```
### bind
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx component bind <moniker>
Binds to the component designated by the provided relative moniker
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To bind to the component designated by the moniker:
$ ffx component bind core/brightness_manager
Notes:
Binds to the component designated by the provided moniker relative to the
root of the component topology.
This will resolve the component if it's not already resolved, and will start the
component if it isn't already running.
Error codes:
1 Failed to bind to the component with moniker <moniker>.
```
### components
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: components
```
### knock
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx component knock <selector>
Connect to a service on the target
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To connect to a service:
$ ffx component knock 'core/appmgr:out:fuchsia.hwinfo.Product'
Notes:
Knock verifies the existence of a service exposed by a component by
attempting to connect to it. The command expects a <selector> with the
following format:
`<component moniker>:(in|out|exposed)[:<service name>].`
Note that wildcards can be used but must match exactly one service.
The `component select` command can be used to explore the component
topology to compose the correct selector for use in `component knock`.
Error codes:
1 Failed to connect to service
```
### list
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx component list [-o <only>] [-v]
List all components, with the option of listing only cmx/cml components
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-o, --only output only cmx/cml/running/stopped components depending on
the flag.
-v, --verbose whether or not to display a column showing component type
and a column showing running/stopped.
--help display usage information
Examples:
To list all components in the topology:
$ ffx component list
To list all cmx components in the topology:
$ ffx component list --only cmx
To list all cml components in the topology:
$ ffx component list --only cml
To list all running components in the topology:
$ ffx component list --only running
To list all stopped components in the topology:
$ ffx component list --only stopped
Notes:
Lists all the components on the running target. If no <only> is entered,
the default option outputs a tree of all components on the system. If a valid <only>
is entered, the command outputs a tree of only cmx/cml/running/stopped components in the system.
If the command fails or times out, ensure RCS is running on the target.
This can be verified by running `ffx target list` and seeing the status
on the RCS column.
Error codes:
1 The command has timed out
```
### moniker
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: moniker
```
### moniker
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: moniker
```
### run
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx component run <url> [-n <name>]
Create and run a v2 component instance in an isolated realm
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-n, --name name of this instance. If not specified, the component name
will be chosen as the instance name.
--help display usage information
Examples:
To run the 'hello_world_rust' component:
$ ffx component run \
fuchsia-pkg://fuchsia.com/hello-world#meta/hello-world-rust.cm
Notes:
The <url> must follow the format:
`fuchsia-pkg://fuchsia.com/<package>#meta/<component>.cm`
```
### run-legacy
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx component run-legacy <url> [<args...>] [-b]
Run a v1 component on the target
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-b, --background switch to turn on background info
--help display usage information
Examples:
To run the 'hello_world_rust' component:
$ ffx component run-legacy \
fuchsia-pkg://fuchsia.com/hello_world_rust#meta/hello_world_rust.cmx
To run the Remote Control Service:
$ ffx component run-legacy \
fuchsia-pkg://fuchsia.com/remote-control#meta/remote-control-runner.cmx
Notes:
Runs a specified v1 component on the target. The <url> must follow the
format:
`fuchsia-pkg://fuchsia.com/<package>#meta/<component>.cmx`.
```
### select
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx component select <command> [<args>]
Lists components matching a selector
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
moniker subcommand moniker
capability subcommand capability
Examples:
To show services exposed by remote-control:
$ ffx component select moniker remote-control:expose:*'
Or to show all services offered by v1 components:
$ ffx component select moniker core/appmgr:out:*
Or to show all components that expose a capability:
$ ffx component select capability fuchsia.sys.Loader
Notes:
Component select allows for
1). looking up various services exposed by the
component. The command expects a <selector> with the following format:
`<component moniker>:(in|out|exposed)[:<service name>]`
Wildcards may be used anywhere in the selector.
2). looking up components that expose a capability. The command takes in
a capability name consists of a string containing the characters a to z,
A to Z, 0 to 9, underscore (_), hyphen (-), or the full stop character (.).
Error codes:
1 No matching component paths found
```
#### capability
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx component select capability <capability>
subcommand capability
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### moniker
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx component select moniker <moniker>
subcommand moniker
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### show
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx component show <filter>
Show useful information about a component
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To show information about a component with full url:
$ ffx component show fuchsia-pkg://fuchsia.com/appmgr#meta/appmgr.cm
To show information about a component with partial url:
$ ffx component show appmgr.cm
To show information about a component with name:
$ ffx component show appmgr
Notes:
Show useful information about a component including url, merkle root,
exposed/incoming/outgoing services, etc. The command expects a <url/name> which is
the partial url or name of the component.
Error codes:
1 Invalid filter 'asdfgh': filter should be a component name or component (partial) url.
Filter format: component_name / url / partial url.
```
### stop
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx component stop <moniker> [-r]
Stops the component designated by the provided relative moniker
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-r, --recursive whether or not to stop the component recursively
--help display usage information
Examples:
To stop the component designated by the moniker:
$ ffx component stop core/brightness_manager
Notes:
Stops the component designated by the provided moniker relative to the
root of the component topology.
This will resolve the component if it's not already resolved, and will stop the
component if it is already running.
Error codes:
1 Failed to stop the component with moniker <moniker>.
```
### test
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx component test <test_url> [-t <timeout>] [--test-filter <test-filter...>] [--list] [--run-disabled] [--filter-ansi] [--parallel <parallel>] [--count <count>] [--min-severity-logs <min-severity-logs>] [--max-severity-logs <max-severity-logs>] [--experimental-output-directory <experimental-output-directory>]
Run test suite
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-t, --timeout test timeout
--test-filter glob pattern for matching tests. Can be specified multiple
times to pass in multiple patterns. example: --test-filter
glob1 --test-filter glob2.
--list list tests in the suite
--run-disabled run tests that have been marked disabled/ignored
--filter-ansi filter ANSI escape sequences from output
--parallel run tests in parallel
--count number of times to run the test [default = 1]
--min-severity-logs
when set, only logs with a severity equal to the given one
or higher will be printed.
--max-severity-logs
when set, the test will fail if any log with a higher
severity is emitted.
--experimental-output-directory
when set, output test results to the specified directory.
--help display usage information
Notes:
Runs a test or suite implementing the `fuchsia.test.Suite` protocol.
Note that if running multiple iterations of a test and an iteration times
out, no further iterations will be executed.
```
## config
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx config <command> [<args>]
View and switch default and user configurations
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
env list environment settings
get display config values
set set config settings
remove remove config for a given level
add add config value the end of an array
analytics enable or disable analytics
```
### add
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx config add <name> <value> [-l <level>] [-b <build-dir>]
add config value the end of an array
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-l, --level config level. Possible values are "user", "build", "global".
Defaults to "user".
-b, --build-dir an optional build directory to associate the build config
provided - use used for "build" configs
--help display usage information
Notes:
This will always add to the end of an array. Adding to a subtree is not supported. If the current value is not an array, it will convert the value to an array. If you want to insert a value in a different position, consider editing the configuration file directly. Configuration file locations can be found by running `ffx config env get` command.
```
### analytics
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx config analytics <command> [<args>]
enable or disable analytics
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
enable enable analytics
disable disable analytics
show show analytics
```
#### disable
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx config analytics disable
disable analytics
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### enable
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx config analytics enable
enable analytics
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### show
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx config analytics show
show analytics
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### env
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx config env [<command>] [<args>]
list environment settings
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
set set environment settings
get list environment for a given level
```
#### get
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx config env get [<level>]
list environment for a given level
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### set
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx config env set <file> [-l <level>] [-b <build-dir>]
set environment settings
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-l, --level config level. Possible values are "user", "build", "global".
Defaults to "user".
-b, --build-dir an optional build directory to associate the build config
provided - use used for "build" configs
--help display usage information
```
### get
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx config get [<name>] [-p <process>] [-s <select>] [-b <build-dir>]
display config values
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-p, --process how to process results. Possible values are "raw", "sub",
and "sub_flat". Defaults to "raw". Currently only supported
if a name is given.
-s, --select how to collect results. Possible values are "first" and
"all". Defaults to "first". If the value is "first", the
first value found in terms of priority is returned. If the
value is "all", all values across all configuration levels
are aggregrated and returned. Currently only supported if a
name is given.
-b, --build-dir an optional build directory to associate the build config
provided - use used for "build" configs
--help display usage information
Error codes:
2 No value found
```
### remove
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx config remove <name> [-l <level>] [-b <build-dir>]
remove config for a given level
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-l, --level config level. Possible values are "user", "build", "global".
Defaults to "user".
-b, --build-dir an optional build directory to associate the build config
provided - use used for "build" configs
--help display usage information
Notes:
This will remove the entire value for the given name. If the value is a subtree or array, the entire subtree or array will be removed. If you want to remove a specific value from an array, consider editing the configuration file directly. Configuration file locations can be found by running `ffx config env get` command.
```
### set
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx config set <name> <value> [-l <level>] [-b <build-dir>]
set config settings
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-l, --level config level. Possible values are "user", "build", "global".
Defaults to "user".
-b, --build-dir an optional build directory to associate the build config
provided - use used for "build" configs
--help display usage information
```
## cts
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx cts <command> [<args>]
Build and run CTS tests.
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
run Run CTS tests.
```
### run
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx cts run [--cts-version <cts-version>] [--tests <tests>]
Run CTS tests.
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--cts-version string, version of CTS to run.
--tests string, comma-separated list of tests to run.
--help display usage information
```
## daemon
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx daemon <command> [<args>]
Interact with/control the ffx daemon
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
crash crash the daemon
echo run echo test against the daemon
hang hang the daemon
log Dumps the daemon log
start run as daemon
stop stops a running daemon
```
### crash
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx daemon crash
crash the daemon
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### echo
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx daemon echo [<text>]
run echo test against the daemon
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### hang
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx daemon hang
hang the daemon
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### log
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx daemon log [-f] [-l <line-count>]
Dumps the daemon log
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-f, --follow print appended logs as they happen
-l, --line-count display most recent log lines.
--help display usage information
```
### start
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx daemon start
run as daemon
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### stop
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx daemon stop
stops a running daemon
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
## debug
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx debug [<socket_location>] [<command>] [<args>]
Start a debugging session.
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
fidl uses fidlcat to automatically manage breakpoints to trace
the fidl messages and/or the syscalls
zxdb launches zxdb to debug programs
```
### fidl
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx debug fidl [--from <from>] [--to <to>] [--format <format>] [--with <with...>] [--with-process-info] [--stack <stack>] [--syscalls <syscalls...>] [--exclude-syscalls <exclude-syscalls...>] [--messages <messages...>] [--exclude-messages <exclude-messages...>] [--trigger <trigger...>] [--thread <thread...>] [--dump-messages] [--remote-pid <remote-pid...>] [--remote-name <remote-name...>] [--extra-name <extra-name...>] [--remote-job-id <remote-job-id...>] [--remote-job-name <remote-job-name...>]
uses fidlcat to automatically manage breakpoints to trace the fidl messages and/or the syscalls
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--from specifies the source. Source can be: device: this is the
default input. The input comes from the live monitoring of
one or several processes. At least one of '--remote-pid',
'--remote-name', '--remote-job-id', --'remote-job-name',
'run' must be specified. dump: The input comes from stdin
which is the log output of one or several programs. The
lines in the log which dump syscalls are decoded and
replaced by the decoded version. All other lines are
unchanged. <path>: playback. Used to replay a session
previously recorded with --to <path> (protobuf format). Path
gives the name of the file to read. If path is '-' then the
standard input is used. This option must be used at most
once.
--to the session is saved to the specified file (binary protobuf
format). When a session is saved, you can replay it using
"--from <path>". The raw data is saved. That means that the
data saved is independent from what is displayed.
--format the display format for the session dump. The available
formats are: pretty: the session is pretty printed (with
colors). This is the default output if --with is not used.
json: the session is printed using a json format. textproto:
the session is printed using a text protobuf format. none:
nothing is displayed on the standard output (this option
only makes sense when used with `--to` or with `--with`).
When there is no output, fidlcat is faster (this is better
to monitor real time components). This is the default output
when --with is used.
--with specifies an extra summarized output. summary: at the end of
the session, a summary of the session is displayed on the
standard output. top: at the end of the session, generate a
view that groups the output by process, protocol, and
method. The groups are sorted by number of events, so groups
with more associated events are listed earlier.
group-by-thread: for each thread display a short version of
all the events. An equal sign followed by a path can be
concatanated to the option to output the result in a file
instead of the standard output (for example: --with
summary=/tmp/x). This option can be used several times.
--with-process-info
display the process name, process id and thread id on each
line (useful for grep).
--stack define the amount of stack frame to display 0: none (default
value) 1: call site (1 to 4 levels) 2: full stack frame
(adds some overhead)
--syscalls a regular expression which selects the syscalls to decode
and display. This option can be specified multiple times. By
default, only zx_channel_.* syscalls are displayed. To
display all the syscalls, use: --syscalls ".*"
--exclude-syscalls
a regular expression which selects the syscalls to not
decode and display. This option can be specified multiple
times. To be displayed, a syscall must verify --syscalls and
not verify --exclude-syscalls. To display all the syscalls
but the zx_handle syscalls, use: --syscalls ".*"
--exclude-syscalls "zx_handle_.*"
--messages a regular expression which selects the messages to display.
To display a message, the method name must satisfy the
regexp. This option can be specified multiple times. Message
filtering works on the method's fully qualified name.
--exclude-messages
a regular expression which selects the messages to not
display. If a message method name satisfy the regexp, the
message is not displayed (even if it satisfies --messages).
This option can be specified multiple times. Message
filtering works on the method's fully qualified name.
--trigger start displaying messages and syscalls only when a message
for which the method name satisfies the filter is found.
This option can be specified multiple times. Message
filtering works on the method's fully qualified name.
--thread only display the events for the specified thread. This
option can be specified multiple times. By default all the
events are displayed.
--dump-messages always does a hexadecimal dump of the messages even if we
can decode them.
--remote-pid the koid of the remote process to trace.
--remote-name the <name> of a process. Fidlcat will monitor all existing
and future processes whose names includes <name> (<name> is
a substring of the process name). This option can be
specified multiple times. When used with --remote-job-id or
--remote-job-name, only the processes from the selected jobs
are taken into account.
--extra-name like --remote-name, it monitors some processes. However, for
these processes, monitoring starts only when one of of the
"--remote-name" process is launched. Also, fidlcat stops
when the last "--remote-name" process stops (even if some
"--extra-name" processes are still monitored). This option
can be specified multiple times.
--remote-job-id the koid of a remote job for which we want to monitor all
the processes. Only jobs created before fidlcat is launched
are monitored. This option can be specified multiple times.
--remote-job-name the name of a remote job for which we want to monitor all
the processes. All the jobs which contain <name> in their
name are used. Only jobs created before fidlcat is launched
are monitored. This option can be specified multiple times.
--help display usage information
```
### the
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx debug [<socket_location>] [<command>] [<args>]
Start a debugging session.
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
fidl uses fidlcat to automatically manage breakpoints to trace
the fidl messages and/or the syscalls
zxdb launches zxdb to debug programs
```
#### fidl
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx debug fidl [--from <from>] [--to <to>] [--format <format>] [--with <with...>] [--with-process-info] [--stack <stack>] [--syscalls <syscalls...>] [--exclude-syscalls <exclude-syscalls...>] [--messages <messages...>] [--exclude-messages <exclude-messages...>] [--trigger <trigger...>] [--thread <thread...>] [--dump-messages] [--remote-pid <remote-pid...>] [--remote-name <remote-name...>] [--extra-name <extra-name...>] [--remote-job-id <remote-job-id...>] [--remote-job-name <remote-job-name...>]
uses fidlcat to automatically manage breakpoints to trace the fidl messages and/or the syscalls
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--from specifies the source. Source can be: device: this is the
default input. The input comes from the live monitoring of
one or several processes. At least one of '--remote-pid',
'--remote-name', '--remote-job-id', --'remote-job-name',
'run' must be specified. dump: The input comes from stdin
which is the log output of one or several programs. The
lines in the log which dump syscalls are decoded and
replaced by the decoded version. All other lines are
unchanged. <path>: playback. Used to replay a session
previously recorded with --to <path> (protobuf format). Path
gives the name of the file to read. If path is '-' then the
standard input is used. This option must be used at most
once.
--to the session is saved to the specified file (binary protobuf
format). When a session is saved, you can replay it using
"--from <path>". The raw data is saved. That means that the
data saved is independent from what is displayed.
--format the display format for the session dump. The available
formats are: pretty: the session is pretty printed (with
colors). This is the default output if --with is not used.
json: the session is printed using a json format. textproto:
the session is printed using a text protobuf format. none:
nothing is displayed on the standard output (this option
only makes sense when used with `--to` or with `--with`).
When there is no output, fidlcat is faster (this is better
to monitor real time components). This is the default output
when --with is used.
--with specifies an extra summarized output. summary: at the end of
the session, a summary of the session is displayed on the
standard output. top: at the end of the session, generate a
view that groups the output by process, protocol, and
method. The groups are sorted by number of events, so groups
with more associated events are listed earlier.
group-by-thread: for each thread display a short version of
all the events. An equal sign followed by a path can be
concatanated to the option to output the result in a file
instead of the standard output (for example: --with
summary=/tmp/x). This option can be used several times.
--with-process-info
display the process name, process id and thread id on each
line (useful for grep).
--stack define the amount of stack frame to display 0: none (default
value) 1: call site (1 to 4 levels) 2: full stack frame
(adds some overhead)
--syscalls a regular expression which selects the syscalls to decode
and display. This option can be specified multiple times. By
default, only zx_channel_.* syscalls are displayed. To
display all the syscalls, use: --syscalls ".*"
--exclude-syscalls
a regular expression which selects the syscalls to not
decode and display. This option can be specified multiple
times. To be displayed, a syscall must verify --syscalls and
not verify --exclude-syscalls. To display all the syscalls
but the zx_handle syscalls, use: --syscalls ".*"
--exclude-syscalls "zx_handle_.*"
--messages a regular expression which selects the messages to display.
To display a message, the method name must satisfy the
regexp. This option can be specified multiple times. Message
filtering works on the method's fully qualified name.
--exclude-messages
a regular expression which selects the messages to not
display. If a message method name satisfy the regexp, the
message is not displayed (even if it satisfies --messages).
This option can be specified multiple times. Message
filtering works on the method's fully qualified name.
--trigger start displaying messages and syscalls only when a message
for which the method name satisfies the filter is found.
This option can be specified multiple times. Message
filtering works on the method's fully qualified name.
--thread only display the events for the specified thread. This
option can be specified multiple times. By default all the
events are displayed.
--dump-messages always does a hexadecimal dump of the messages even if we
can decode them.
--remote-pid the koid of the remote process to trace.
--remote-name the <name> of a process. Fidlcat will monitor all existing
and future processes whose names includes <name> (<name> is
a substring of the process name). This option can be
specified multiple times. When used with --remote-job-id or
--remote-job-name, only the processes from the selected jobs
are taken into account.
--extra-name like --remote-name, it monitors some processes. However, for
these processes, monitoring starts only when one of of the
"--remote-name" process is launched. Also, fidlcat stops
when the last "--remote-name" process stops (even if some
"--extra-name" processes are still monitored). This option
can be specified multiple times.
--remote-job-id the koid of a remote job for which we want to monitor all
the processes. Only jobs created before fidlcat is launched
are monitored. This option can be specified multiple times.
--remote-job-name the name of a remote job for which we want to monitor all
the processes. All the jobs which contain <name> in their
name are used. Only jobs created before fidlcat is launched
are monitored. This option can be specified multiple times.
--help display usage information
```
#### the
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: the
```
#### zxdb
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx debug zxdb
launches zxdb to debug programs
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### zxdb
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx debug zxdb
launches zxdb to debug programs
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
## doctor
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx doctor [--record] [--no-config] [--retry-count <retry-count>] [--retry-delay <retry-delay>] [--restart-daemon] [--output-dir <output-dir>]
Run common checks for the ffx tool and host environment
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--record generates an output zip file with logs
--no-config do not include the ffx configuration file
--retry-count number of times to retry failed connection attempts
--retry-delay timeout delay in ms during connection attempt
--restart-daemon force restart the daemon, even if the connection is working
--output-dir override the default output directory for doctor records
--help display usage information
Examples:
To run diagnostics:
$ ffx doctor
To capture the output and additional logs:
$ ffx doctor --record
By default, this outputs the zip in the current directory.
To override output dir:
$ ffx doctor --record --output-dir /tmp/ffx
Notes:
The `doctor` subcommand automatically attempts to repair common target
interaction issues and provides useful diagnostic information to the user.
By default, running `ffx doctor` attempts to establish a connection with
the daemon, and restarts the daemon if there is no connection. The default
`retry_count` is '3' and the default 'retry_delay` is '2000' milliseconds.
```
## driver
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx driver <command> [<args>]
Support driver development workflows
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
debug-bind Allows you to debug bind decisions.
dump Dump device tree
list List drivers
list-devices List devices
register Informs the driver manager that a new driver package is
available. The driver manager will cache a copy of the
driver
restart Restart all Driver Hosts containing the driver specified by
driver path. ZX_ERR_NOT_FOUND indicates that there is no
driver matching the given path
```
### available.
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: available.
```
### debug-bind
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx driver debug-bind <driver_path> <device_path> [-p] [-i]
Allows you to debug bind decisions.
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-p, --print-properties
print out the device properties.
-i, --print-instructions
print out the bind program instructions.
--help display usage information
Examples:
To debug why a driver did or didn't bind to a particular device:
$ ffx driver debug-bind '/boot/driver/usb_video.so' 'sys/platform/pci/00:1f.6'
Error codes:
1 Failed to connect to the bind debugger service
```
### driver
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: driver
```
### driver
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: driver
```
### driver
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: driver
```
### dump
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx driver dump [-v]
Dump device tree
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-v, --verbose list all device properties.
--help display usage information
Examples:
To dump the device tree:
$ ffx driver dump
Error codes:
1 Failed to connect to the driver development service
```
### list
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx driver list [-v]
List drivers
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-v, --verbose list all driver properties.
--help display usage information
Examples:
To list all drivers with properties:
$ ffx driver list -v
Error codes:
1 Failed to connect to the driver development service
```
### list-devices
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx driver list-devices [<device>] [-v]
List devices
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-v, --verbose list all device properties.
--help display usage information
Examples:
To list all devices:
$ ffx driver list-devices -v
Error codes:
1 Failed to connect to the driver development service
```
### register
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx driver register <url>
Informs the driver manager that a new driver package is available. The driver manager will cache a copy of the driver
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To register a driver
$ ffx driver register 'fuchsia-pkg://fuchsia.com/example_driver#meta/example_driver.cmx'
Error codes:
1 Failed to connect to the driver registrar service
```
### restart
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx driver restart <driver_path>
Restart all Driver Hosts containing the driver specified by driver path. ZX_ERR_NOT_FOUND indicates that there is no driver matching the given path
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To restart a driver:
$ ffx driver restart '/boot/driver/e1000.so'
Error codes:
1 Failed to connect to the driver manager service
```
## efi
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx efi <command> [<args>]
Manipulate efi partition
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
create Creates efi partition, copies zircon.bin, bootdata.bin,
EFI/BOOT/BOOTX64.EFI, zedboot.bin, etc...
```
### EFI/BOOT/BOOTX64.EFI,
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: EFI/BOOT/BOOTX64.EFI,
```
### create
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx efi create -o <output> [--zircon <zircon>] [--bootdata <bootdata>] [--efi-bootloader <efi-bootloader>] [--zedboot <zedboot>] [--cmdline <cmdline>]
Creates efi partition, copies zircon.bin, bootdata.bin, EFI/BOOT/BOOTX64.EFI, zedboot.bin, etc...
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-o, --output target file/disk to write EFI partition to
--zircon optional path to source file for zircon.bin
--bootdata optional path to source file for bootdata.bin
--efi-bootloader optional path to source file for EFI/BOOT/BOOTX64.EFI
--zedboot optional path to a source file for zedboot.bin
--cmdline optional bootloader cmdline file
--help display usage information
```
## emu
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx emu [--sdk] <command> [<args>]
Start and manage Fuchsia emulators
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--sdk running in fuchsia sdk (not inside the fuchsia code
repository)
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
start Starting Fuchsia Emulator
kill Killing Fuchsia Emulator
remote This is a placeholder for a new feature in active
development. Please stand by...
```
### development.
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: development.
```
### kill
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx emu kill [-d <vdl-path>] [--launched-proto <launched-proto>]
Killing Fuchsia Emulator
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-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
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx emu 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:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--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
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx emu 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:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-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
```
## flutter
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx flutter <command> [<args>]
Interact with Flutter components on the target.
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
tunnel Establishes a port forward between the local host and the
dart vm service port.
Notes:
The `flutter` subcommand is an entry workflow and contains various subcommands
for flutter component management and interaction.
```
### dart
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: dart
```
### tunnel
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx flutter tunnel
Establishes a port forward between the local host and the dart vm service port.
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Notes:
Determines the vm_service_port in the Flutter runner on the target Fuchsia device. An ssh
tunnel is then established between localhost(127.0.0.1) at an available port and the target device at
the vm_service_port.
A url for the location of the listening socket is printed out for users.
```
## inspect
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx inspect [-f <format>] <command> [<args>]
Query component nodes exposed via the Inspect API
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-f, --format the format to be used to display the results (json, text).
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
list List components that expose inspect
list-accessors List ArchiveAccessor files.
selectors List available selectors
show Print inspect hierarchies
```
### list
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx inspect list [--manifest <manifest>] [--with-url] [--accessor-path <accessor-path>]
List components that expose inspect
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--manifest the name of the manifest file that we are interested in. If
this is provided, the output will only contain monikers for
components whose url contains the provided name.
--with-url also print the URL of the component.
--accessor-path the path from where to get the ArchiveAccessor connection.
If the given path is a directory, the command will look for
a `fuchsia.diagnostics.ArchiveAccessor` service file. If the
given path is a service file, the command will attempt to
connect to it as an ArchiveAccessor.
--help display usage information
Notes:
Lists all components (relative to the scope where the archivist receives events from)
of components that expose inspect.
For v1: this is the realm path plus the realm name
For v2: this is the moniker without the instances ids.
```
### list-accessors
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx inspect list-accessors [<paths...>]
List ArchiveAccessor files.
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Notes:
Lists all ArchiveAccessor files under the provided paths.
All paths are implicitly rooted under `/hub-v2`.
If no paths are provided, it'll list everything under /hub-v2.
It is possible to reach v1 components by starting with the path prefix
children/core/children/appmgr/exec/out/hub.
```
### selectors
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx inspect selectors [<selectors...>] [--manifest <manifest>] [--accessor-path <accessor-path>]
List available selectors
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--manifest the name of the manifest file that we are interested in. If
this is provided, the output will only contain monikers for
components whose url contains the provided name.
--accessor-path the path from where to get the ArchiveAccessor connection.
If the given path is a directory, the command will look for
a `fuchsia.diagnostics.ArchiveAccessor` service file. If the
given path is a service file, the command will attempt to
connect to it as an ArchiveAccessor.
--help display usage information
Notes:
Lists all available full selectors (component selector + tree selector).
If a selector is provided, it’ll only print selectors for that component.
If a full selector (component + tree) is provided, it lists all selectors under the given node.
```
### show
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx inspect show [<selectors...>] [--manifest <manifest>] [--accessor-path <accessor-path>]
Print inspect hierarchies
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--manifest the name of the manifest file that we are interested in. If
this is provided, the output will only contain monikers for
components whose url contains the provided name.
--accessor-path the path from where to get the ArchiveAccessor connection.
If the given path is a directory, the command will look for
a `fuchsia.diagnostics.ArchiveAccessor` service file. If the
given path is a service file, the command will attempt to
connect to it as an ArchiveAccessor.
--help display usage information
Notes:
Prints the inspect hierarchies that match the given selectors.
```
## net
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net <command> [<args>]
View and manage target network configuration
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
filter commands for packet filter
fwd commands for forwarding tables
if commands for network interfaces
ip-fwd commands for IP forwarding
log commands for logging
neigh commands for neighbor tables
route commands for routing tables
metric commands for interface route metrics
dhcp commands for an interfaces dhcp client
```
### dhcp
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net dhcp <command> [<args>]
commands for an interfaces dhcp client
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
start starts a dhcp client on the interface
stop stops the dhcp client on the interface
```
#### start
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net dhcp start <id>
starts a dhcp client on the interface
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### stop
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net dhcp stop <id>
stops the dhcp client on the interface
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### filter
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net filter <command> [<args>]
commands for packet filter
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
disable disables the packet filter
enable enables the packet filter
get-nat-rules gets nat rules
get-rdr-rules gets rdr rules
get-rules gets filter rules
is-enabled is the packet filter enabled?
set-nat-rules sets nat rules (see the netfilter::parser library for the
NAT rules format)
set-rdr-rules sets rdr rules (see the netfilter::parser library for the
RDR rules format)
set-rules sets filter rules (see the netfilter::parser library for the
rules format)
```
#### NAT
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: NAT
```
#### RDR
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: RDR
```
#### disable
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net filter disable
disables the packet filter
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### enable
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net filter enable
enables the packet filter
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### get-nat-rules
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net filter get-nat-rules
gets nat rules
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### get-rdr-rules
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net filter get-rdr-rules
gets rdr rules
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### get-rules
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net filter get-rules
gets filter rules
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### is-enabled
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net filter is-enabled
is the packet filter enabled?
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### rules
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: rules
```
#### set-nat-rules
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net filter set-nat-rules <rules>
sets nat rules (see the netfilter::parser library for the NAT rules format)
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### set-rdr-rules
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net filter set-rdr-rules <rules>
sets rdr rules (see the netfilter::parser library for the RDR rules format)
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### set-rules
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net filter set-rules <rules>
sets filter rules (see the netfilter::parser library for the rules format)
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### fwd
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net fwd <command> [<args>]
commands for forwarding tables
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
add-device adds a forwarding table entry to route to a device
add-hop adds a forwarding table entry to route to a IP address
del deletes a forwarding table entry
list lists forwarding table entries
```
#### add-device
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net fwd add-device <id> <addr> <prefix>
adds a forwarding table entry to route to a device
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### add-hop
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net fwd add-hop <next_hop> <addr> <prefix>
adds a forwarding table entry to route to a IP address
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### del
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net fwd del <addr> <prefix>
deletes a forwarding table entry
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### list
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net fwd list
lists forwarding table entries
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### if
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net if <command> [<args>]
commands for network interfaces
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
add adds a network interface by path
addr commands for updates network interface addresses
bridge creates a bridge between network interfaces
del removes a network interface
disable disables a network interface
enable enables a network interface
get queries a network interface
ip-forward get or set IP forwarding for an interface
list lists network interfaces
```
#### add
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net if add <path>
adds a network interface by path
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### addr
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net if addr <command> [<args>]
commands for updates network interface addresses
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
add adds an address to the network interface
del deletes an address from the network interface
```
##### add
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net if addr add <id> <addr> <prefix>
adds an address to the network interface
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
##### del
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net if addr del <id> <addr> [<prefix>]
deletes an address from the network interface
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### bridge
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net if bridge [<ids...>]
creates a bridge between network interfaces
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### del
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net if del <id>
removes a network interface
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### disable
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net if disable <id>
disables a network interface
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### enable
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net if enable <id>
enables a network interface
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### get
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net if get <id>
queries a network interface
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### ip-forward
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net if ip-forward <command> [<args>]
get or set IP forwarding for an interface
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
show get IP forwarding for an interface
set set IP forwarding for an interface
```
##### set
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net if ip-forward set <id> <ip_version> <enable>
set IP forwarding for an interface
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
##### show
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net if ip-forward show <id> <ip_version>
get IP forwarding for an interface
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### list
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net if list [<name_pattern>]
lists network interfaces
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### ip-fwd
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net ip-fwd <command> [<args>]
commands for IP forwarding
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
disable disables IP forwarding
enable enables IP forwarding
```
#### disable
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net ip-fwd disable
disables IP forwarding
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### enable
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net ip-fwd enable
enables IP forwarding
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### log
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net log <command> [<args>]
commands for logging
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
set-packets log packets to stdout
```
#### set-packets
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net log set-packets <enabled>
log packets to stdout
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### metric
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net metric <command> [<args>]
commands for interface route metrics
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
set assigns a route metric to the network interface
```
#### set
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net metric set <id> <metric>
assigns a route metric to the network interface
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### neigh
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net neigh <command> [<args>]
commands for neighbor tables
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
add adds an entry to the neighbor table
clear removes all entries associated with a network interface from
the neighbor table
del removes an entry from the neighbor table
list lists neighbor table entries
watch watches neighbor table entries for state changes
config commands for the Neighbor Unreachability Detection
configuration
```
#### add
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net neigh add <interface> <ip> <mac>
adds an entry to the neighbor table
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### clear
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net neigh clear <interface> <ip_version>
removes all entries associated with a network interface from the neighbor table
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### config
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net neigh config <command> [<args>]
commands for the Neighbor Unreachability Detection configuration
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
get returns the current NUD configuration options for the
provided interface
update updates the current NUD configuration options for the
provided interface
```
##### get
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net neigh config get <interface> <ip_version>
returns the current NUD configuration options for the provided interface
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
##### provided
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: provided
```
##### provided
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: provided
```
##### update
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net neigh config update <interface> <ip_version> [--base-reachable-time <base-reachable-time>] [--learn-base-reachable-time <learn-base-reachable-time>] [--min-random-factor <min-random-factor>] [--max-random-factor <max-random-factor>] [--retransmit-timer <retransmit-timer>] [--learn-retransmit-timer <learn-retransmit-timer>] [--delay-first-probe-time <delay-first-probe-time>] [--max-multicast-probes <max-multicast-probes>] [--max-unicast-probes <max-unicast-probes>] [--max-anycast-delay-time <max-anycast-delay-time>] [--max-reachability-confirmations <max-reachability-confirmations>]
updates the current NUD configuration options for the provided interface
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--base-reachable-time
a base duration, in nanoseconds, for computing the random
reachable time
--learn-base-reachable-time
learn `base_reachable_time` during runtime from the neighbor
discovery protocol, if supported
--min-random-factor
the minimum value of the random factor used for computing
reachable time
--max-random-factor
the maximum value of the random factor used for computing
reachable time
--retransmit-timer
duration, in nanoseconds, between retransmissions of
reachability probes in the PROBE state
--learn-retransmit-timer
learn `retransmit_timer` during runtime from the neighbor
discovery protocol, if supported
--delay-first-probe-time
duration, in nanoseconds, to wait for a
non-Neighbor-Discovery related protocol to reconfirm
reachability after entering the DELAY state
--max-multicast-probes
the number of reachability probes to send before concluding
negative reachability and deleting the entry from the
INCOMPLETE state
--max-unicast-probes
the number of reachability probes to send before concluding
retransmissions from within the PROBE state should cease and
the entry SHOULD be deleted
--max-anycast-delay-time
if the target address is an anycast address, the stack
SHOULD delay sending a response for a random time between 0
and this duration, in nanoseconds
--max-reachability-confirmations
a node MAY send up to this amount of unsolicited
reachability confirmations messages to all-nodes multicast
address when a node determines its link-layer address has
changed
--help display usage information
```
#### configuration
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: configuration
```
#### del
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net neigh del <interface> <ip>
removes an entry from the neighbor table
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### list
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net neigh list
lists neighbor table entries
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### the
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: the
```
#### watch
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net neigh watch
watches neighbor table entries for state changes
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### route
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net route <command> [<args>]
commands for routing tables
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
list lists devices
add adds a route to the route table
del deletes a route from the route table
```
#### add
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net route add --destination <destination> --netmask <netmask> [--gateway <gateway>] --nicid <nicid> --metric <metric>
adds a route to the route table
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--destination the network id of the destination network
--netmask the netmask corresponding to destination
--gateway the ip address of the first hop router
--nicid the outgoing network interface id of the route
--metric the metric for the route
--help display usage information
```
#### del
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net route del --destination <destination> --netmask <netmask> [--gateway <gateway>] --nicid <nicid> --metric <metric>
deletes a route from the route table
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--destination the network id of the destination network
--netmask the netmask corresponding to destination
--gateway the ip address of the first hop router
--nicid the outgoing network interface id of the route
--metric the metric for the route
--help display usage information
```
#### list
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx net route list
lists devices
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
## overnet
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx overnet <command> [<args>]
Interact with the Overnet mesh
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
list-peers List known peer nodes
list-links List links on a particular peer
host-pipe Use stdin/stdout as a link to another overnet instance
full-map Construct a detailed graphviz map of the Overnet mesh -
experts only!
```
### experts
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: experts
```
### full-map
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx overnet full-map --exclude-self <exclude-self>
Construct a detailed graphviz map of the Overnet mesh - experts only!
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--exclude-self if set, exclude the onet tool from output
--help display usage information
```
### host-pipe
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx overnet host-pipe
Use stdin/stdout as a link to another overnet instance
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### list-links
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx overnet list-links <nodes>
List links on a particular peer
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### list-peers
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx overnet list-peers
List known peer nodes
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
## package
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx package <command> [<args>]
Create and publish Fuchsia packages
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
build Builds a package.
Entries may be specified as:
-
<dst>=<src>: Place the file at path <src> into the package
at path <dst>.
- @<manifest-file>: Read each line of this
file as an entry. This is not recursive; you can't put
another @<manifest-file>
download download Package from TUF package server.
export export a package archive
import import a package archive
```
### build
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx package build [<entries...>] [-s <source-dir>] [--hash-out <hash-out>]
Builds a package.
Entries may be specified as:
- <dst>=<src>: Place the file at path <src> into the package at path <dst>.
- @<manifest-file>: Read each line of this file as an entry. This is not recursive; you can't put another @<manifest-file>
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-s, --source-dir base directory for the <src> part of entries; defaults to
the current directory
--hash-out write the package hash to this file instead of stdout
--help display usage information
```
## platform
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx platform <command> [<args>]
Manage platform build prerequisites
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
preflight Evaluate suitability for building and running Fuchsia
```
### preflight
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx platform preflight [--json]
Evaluate suitability for building and running Fuchsia
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--json outputs json instead of human-readable text.
--help display usage information
```
## profile
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx profile <command> [<args>]
Profile run-time information from various subsystems
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
cpu Query CPU-related information
```
### cpu
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx profile cpu <command> [<args>]
Query CPU-related information
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
load Measure CPU load over the specified duration
```
#### load
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx profile cpu load -d <duration>
Measure CPU load over the specified duration
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-d, --duration duration over which to measure the CPU load
--help display usage information
Examples:
To measure the CPU load over a two second duration
$ ffx profile cpu load --duration 2
Notes:
This command uses the GetCpuLoad method of the fuchsia.kernel.Stats service to query the
the load from each active CPU core in the system. The measured CPU load from each core is
printed in the following format:
CPU 0: 0.66%
CPU 1: 1.56%
CPU 2: 0.83%
CPU 3: 0.71%
Total: 3.76%
The valid range for each CPU load is [0-100]%. The "Total" value represents the summation
of the load percentages of all CPU cores and is valid in the range [0-100*[NUM_CPU]]%
```
## repository
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx repository <command> [<args>]
Inspect and manage package repositories
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
add-from-pm
list List all repositories
packages List the packages inside a repository
remove
target ....
```
### add-from-pm
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx repository add-from-pm <name> <pm_repo_path>
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### list
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx repository list
List all repositories
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### packages
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx repository packages <name> [--full-hash]
List the packages inside a repository
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--full-hash if true, package hashes will be displayed in full (i.e. not
truncated).
--help display usage information
```
### remove
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx repository remove <name>
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### target
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx repository target <command> [<args>]
....
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
deregister
list
register
```
#### deregister
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx repository target deregister <name>
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### list
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx repository target list
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
#### register
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx repository target register [<name>] [--storage-type <storage-type>] [--alias <alias...>]
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--storage-type enable persisting this repository across reboots.
--alias set up a rewrite rule mapping each `alias` host to to the
repository identified by `name`.
--help display usage information
```
## scrutiny
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx scrutiny <command> [<args>]
Audit the security of Fuchsia
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
extract Extracts common Fuchsia file types
list Lists properties about build artifacts
shell Launch the scrutiny shell
verify Verify the build
```
### extract
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx scrutiny extract <command> [<args>]
Extracts common Fuchsia file types
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
blobfs Extracts a Blobfs block file
fvm Extracts a FVM file
package Extracts a Fuchsia package from a Url
zbi Extracts the Zircon Boot Image
```
#### blobfs
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx scrutiny extract blobfs <input> <output>
Extracts a Blobfs block file
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To extract a Blobfs block file:
$ffx scrutiny extract blobfs blob.blk /tmp/blobs
Notes:
Extracts a blobfs block file to a specific directory.
```
#### fvm
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx scrutiny extract fvm <input> <output>
Extracts a FVM file
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To extract a FVM file:
$ffx scrutiny extract fvm fvm.blk /tmp/fvm
Notes:
Extracts a FVM to a specific directory.
```
#### package
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx scrutiny extract package <url> <output>
Extracts a Fuchsia package from a Url
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To extract a Fuchsia package from a url:
$ffx scrutiny extract package fuchsia-pkg://fuchsia.com/foo /tmp/foo
Notes:
Extracts a package to a specific directory.
```
#### zbi
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx scrutiny extract zbi <input> <output>
Extracts the Zircon Boot Image
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To extract a Zircon Boot Image:
$ffx scrutiny extract zbi foo.zbi /tmp/foo
Notes:
Extracts a ZBI to a specific directory.
```
### list
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx scrutiny list <command> [<args>]
Lists properties about build artifacts
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
components Lists all the components in the build
package Lists all the files in a package
packages Lists all the packages in the build
```
#### components
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx scrutiny list components
Lists all the components in the build
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To list all the components in the build:
$ffx scrutiny list components
Notes:
Lists all the components in the build in a json format.
```
#### package
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx scrutiny list package <url>
Lists all the files in a package
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To list all the files in a package:
$ffx scrutiny list package fuchsia-pkg://fuchsia.com/foo
Notes:
Lists all the package contents in json format.
```
#### packages
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx scrutiny list packages
Lists all the packages in the build
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To list all the packages in the build:
$ffx scrutiny list packages
Notes:
Lists all the packages in the build in a json format.
```
### shell
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx scrutiny shell [<command>] [-b <build>] [-s <script>] [-m <model>] [-l <log>] [-p <port>] [-v <verbosity>]
Launch the scrutiny shell
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-b, --build set a custom path to the build directory
-s, --script run a file as a scrutiny script
-m, --model set a custom path to the data model
-l, --log set a custom path output log
-p, --port set a custom port to run scrutiny on
-v, --verbosity set the verbosity level of logging
--help display usage information
Examples:
To start an interactive shell session:
$ ffx scrutiny shell
To run commands directly:
$ ffx scrutiny shell components
$ ffx scrutiny shell "search.packages --files fdio"
Notes:
Launches an interactive scrutiny shell where scrutiny specific
commands can be run. This will also launch a server on port 127.0.0.1:8080
by default that provides visual auditing tools.
Inside the shell run help for a full list of available commands. If you wish to
integrate Scrutiny as part of a wider script check out the --script option.
```
### verify
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx scrutiny verify <command> [<args>]
Verify the build
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
routes Verifies protocol and directory routes in Fuchsia
```
#### routes
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx scrutiny verify routes [<capability>]
Verifies protocol and directory routes in Fuchsia
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To verify the routes on your current build:
$ffx scrutiny verify routes
$ffx scrutiny verify routes directory
$ffx scrutiny verify routes protocol
Notes:
Verifies all protocol and directory routes.
```
## sdk
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx sdk <command> [<args>]
Modify or query the installed SDKs
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
version Retrieve the version of the current SDK
set Set sdk-related configuration options
```
### set
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx sdk set <command> [<args>]
Set sdk-related configuration options
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
root Sets the path to the root of the preferred SDK
```
#### root
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx sdk set root <path>
Sets the path to the root of the preferred SDK
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### version
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx sdk version
Retrieve the version of the current SDK
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
## self-test
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx self-test [--timeout <timeout>] [--case-timeout <case-timeout>] [--include-target <include-target>] [<command>] [<args>]
Execute the ffx self-test (e2e) suite
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--timeout maximum runtime of entire test suite in seconds
--case-timeout maximum run time of a single test case in seconds
--include-target include target interaction tests
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
experiment A fake experiment for the ffx self-test (e2e) suite
```
### experiment
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx self-test experiment
A fake experiment for the ffx self-test (e2e) suite
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
## session
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx session <command> [<args>]
Control the session
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
add Add an element to the current session
keyboard Modify keyboard settings
launch Launch a session
restart Restart the current session
show Show information about the current session
```
### add
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx session add <url>
Add an element to the current session
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### keyboard
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx session keyboard --keymap <keymap>
Modify keyboard settings
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--keymap the keymap to use, one of US_QWERTY,FR_AZERTY,US_DVORAK
--help display usage information
```
### launch
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx session launch <url>
Launch a session
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### restart
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx session restart
Restart the current session
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### show
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx session show
Show information about the current session
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
## starnix
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx starnix <command> [<args>]
Control starnix processes
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
shell Start a shell inside starnix
start Start a component inside starnix
```
### shell
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx starnix shell
Start a shell inside starnix
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To start a shell inside starnix:
$ ffx starnix shell
```
### start
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx starnix start <url>
Start a component inside starnix
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To start a component inside starnix:
$ ffx starnix start <url>
```
## target
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target <command> [<args>]
Interact with a target device or emulator
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
add Make the daemon aware of a specific target
default Manage the default target
flash Flash an image to a target device
get-ssh-address Get the target's ssh address
list List all targets
log Display logs from a target device
off Powers off a target
reboot Reboots a target
remove Make the daemon forget a specific target
show Display relevant information for the target
snapshot Takes a snapshot of the target's state
update Update base system software on target
wait Wait until the target becomes available.
Notes:
The `target` subcommand contains various commands for target management
and interaction.
Typically, this is the entry workflow for users, allowing for target
discovery and provisioning before moving on to `component` or `session`
workflows once the system is up and running on the target.
Most of the commands depend on the RCS (Remote Control Service) on the
target.
```
### add
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target add <addr>
Make the daemon aware of a specific target
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To add a remote target forwarded via ssh:
$ ffx target add 127.0.0.1:8022
Or to add a target using its IPV6:
$ ffx target add fe80::32fd:38ff:fea8:a00a
Notes:
Manually add a target based on its IP address. The command accepts IPV4
or IPV6 addresses, including a port number: `<addr> = <ip addr:port>`.
Typically, the daemon automatically discovers targets as they come online.
However, manually adding a target allows for specifying a port number or
address, often used for remote workflows.
```
### default
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target default <command> [<args>]
Manage the default target
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
get Get the default configured target
set Set the default target
unset Clears the default configured target
Examples:
For one-off overrides for the default use `--target` option:
$ ffx --target <target name> <subcommand>
Or use the `--config` option:
$ ffx --config target.default=<target name> <subcommand>
Notes:
Manages the default configured target for all operations. The default
target is designated by a `*` next to the name. This is an alias for the
`target.default` configuration key.
```
#### get
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target default get
Get the default configured target
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Notes:
Returns the default configured target from the 'User Configuration'.
Returns an empty string if no default is configured.
```
#### set
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target default set <nodename> [-l <level>] [-b <build-dir>]
Set the default target
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-l, --level config level, such as 'user', 'build', or 'global'
-b, --build-dir optional directory to associate the provided build config
--help display usage information
Examples:
To set the default target:
$ ffx target default set <target name>
To set the 'target.default` key at the global configuration:
$ ffx target default set -l global <target name>
To specify a default target for a specific build directory:
$ ffx target default set -l build -b ~/fuchsia/out <target name>
Notes:
Sets the `target.default` configuration key. By default sets the key in
the 'User Configuration'. Can be used in conjuction with `ffx target list`
to list the names of the discovered targets.
After setting the default target, `ffx target list` will mark the default
with a `*` in the output list.
```
#### unset
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target default unset [-l <level>] [-b <build-dir>]
Clears the default configured target
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-l, --level config level, such as 'user', 'build', or 'global'
-b, --build-dir optional directory to associate the provided build config
--help display usage information
Examples:
To clear the default target:
$ ffx target default unset
To clear the `target.default` key from global configuration:
$ ffx target default unset -l global
To specify a specific build directory:
$ ffx target default unset -l build -b ~/fuchsia/out
Notes:
Clears the `target.default` configuration key. By default clears the
'User Configuration'. Returns a warning if the key is already empty.
```
### flash
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target flash <manifest> [<product>] [--oem-stage <oem-stage...>] [--ssh-key <ssh-key>] [--no-bootloader-reboot] [--skip-verify]
Flash an image to a target device
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--oem-stage oem staged file - can be supplied multiple times
--ssh-key path to ssh key - will default to the `ssh.pub` key in ffx
config
--no-bootloader-reboot
the device should not reboot after bootloader images are
flashed
--skip-verify skip hardware verification. This is dangerous, please be
sure the images you are flashing match the device
--help display usage information
Examples:
To flash a specific image:
$ ffx target flash ~/fuchsia/out/flash.json fuchsia
To include SSH keys as well:
$ ffx target flash
--ssh-key ~/fuchsia/.ssh/authorized_keys
~/fuchsia/out/default/flash.json
fuchsia
Notes:
Flashes an image to a target device using the fastboot protocol.
Requires a specific <manifest> file and <product> name as an input.
This is only applicable to a physical device and not an emulator target.
The target device is typically connected via a micro-USB connection to
the host system.
The <manifest> format is a JSON file generated when building a fuchsia
<product> and can be found in the build output directory.
The `--oem-stage` option can be supplied multiple times for several OEM
files. The format expects a single OEM command to execute after staging
the given file.
The format for the `--oem-stage` parameter is a comma separated pair:
'<OEM_COMMAND>,<FILE_TO_STAGE>'
```
### get-ssh-address
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target get-ssh-address [-t <timeout>]
Get the target's ssh address
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-t, --timeout the timeout in seconds [default = 1.0]
--help display usage information
Notes:
Return the SSH address of the default target defined in the
`target.default` key. By default this comes from the 'User Configuration'.
The command takes a <timeout> value in seconds with a default of `1.0`
and overrides the value in the `target.interaction.timeout` key.
Error codes:
1 Timeout while getting ssh address
```
### list
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target list [<nodename>] [-f <format>]
List all targets
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-f, --format determines the output format for the list operation
--help display usage information
Examples:
To list targets in short form:
$ ffx target list --format s
fe80::4415:3606:fb52:e2bc%zx-f80ff974f283 pecan-guru-clerk-rhyme
To list targets with only their addresses:
$ ffx target list --format a
fe80::4415:3606:fb52:e2bc%zx-f80ff974f283
Notes:
List all targets that the daemon currently has in memory. This includes
manually added targets. The daemon also proactively discovers targets as
they come online. Use `ffx target list` to always get the latest list
of targets.
The default target is marked with a '*' next to the node name. The table
has the following columns:
NAME = The name of the target.
TYPE = The product type of the target, currently always 'Unknown'.
STATE = The high-level state of the target, currently always 'Unknown'.
AGE = Shows the last time the daemon was able to discover the target.
ADDRS/IP = The discovered and known addresses of the target.
RCS = Indicates if the Remote Control Service is running on the target.
The NAME column shows the target's advertised name. When the target is
in early boot state such as fastboot, shows 'FastbootDevice' with the
`product` and `serial` attributes instead.
By default, the `list` command outputs in a tabular format. To override
the format, pass `--format` and can take the following options: 'simple'
, 'tabular|table|tab', 'addresses|addrs|addr', 'name-only', 'json|JSON' or
in short form 's', 't', 'a', 'n', 'j'.
Error codes:
2 If a nodename is supplied, an error code of 2 will be returned if the nodename cannot be resolved
```
### log
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target log [--filter <filter...>] [--exclude <exclude...>] [--color <color>] [--ignore-symbolizer-failure] [--show-process-info] [--time <time>] [--moniker <moniker...>] [--exclude-moniker <exclude-moniker...>] [--min-severity <min-severity>] <command> [<args>]
Display logs from a target device
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--filter filter for a string in either the message, component or url.
--exclude exclude a string in either the message, component or url.
--color toggle coloring logs according to severity
--ignore-symbolizer-failure
ignore any failure to find the symbolizer binary.
--show-process-info
shows process-id and thread-id in log output
--time how to display log timestamps
--moniker filter log entries using component selectors
--exclude-moniker exclude log entries matching a component selector
--min-severity set the minimum severity
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
watch Watches for and prints logs from a target. Optionally dumps
recent logs first.
dump Dumps all logs from a target.
Examples:
Dump the most recent logs and stream new ones as they happen:
$ ffx target log watch
Stream new logs without dumping recent ones, filtering for severity of at least "WARN":
$ ffx target log --min-severity warn watch --dump false
Dump all logs from components with a moniker, url, or message containing "remote-control":
$ ffx target log --filter remote-control dump
Stream logs from components with moniker, url or message that do not include "sys":
$ ffx target log --exclude sys watch
Dump ERROR logs with moniker, url or message containing either "klog" or "remote-control.cm",
but which do not contain "sys":
$ ffx target log --min-severity error --filter klog --filter remote-control.cm --exclude sys dump
Dump logs with monikers matching component selectors, instead of text matches:
$ ffx target log --moniker "core/remote-*" --exclude-moniker "sys/*" dump
Notes:
Filters must be provided to the top-level `target log` command,
*not* to the sub-command (see examples above)
The `--moniker` argument expects a component selector. See this page for
documentation:
https://fuchsia.dev/reference/fidl/fuchsia.diagnostics#ComponentSelector.
You may find the `component select` command useful for exploring the topology
and identifying the selector that matches the component(s) of interest.
```
#### dump
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target log dump [--from <from>] [--from-monotonic <from-monotonic>] [--to <to>] [--to-monotonic <to-monotonic>]
Dumps all logs from a target.
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--from show only logs after a certain time
--from-monotonic show only logs after a certain time (as a monotonic
timestamp in seconds from the target).
--to show only logs until a certain time
--to-monotonic show only logs until a certain time (as a monotonic
timestamp in seconds from the target).
--help display usage information
```
#### recent
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Unrecognized argument: recent
```
#### watch
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target log watch [--dump <dump>]
Watches for and prints logs from a target. Optionally dumps recent logs first.
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--dump if true, dumps recent logs before printing new ones.
--help display usage information
```
### off
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target off
Powers off a target
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Notes:
Power off a target. Uses the 'fuchsia.hardware.power.statecontrol.Admin'
FIDL API to send the power off command.
The 'fuchsia.hardware.power.statecontrol.Admin' is exposed via the 'appmgr'
component. To verify that the target exposes this service, `ffx component
select` or `ffx component knock` can be used.
Error codes:
1 Timeout while powering off target.
```
### reboot
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target reboot [-b] [-r]
Reboots a target
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-b, --bootloader reboot to bootloader
-r, --recovery reboot to recovery
--help display usage information
Notes:
Reboot a target. Uses the 'fuchsia.hardware.power.statecontrol.Admin'
FIDL API to send the reboot command.
By default, target boots fully. This behavior can be overrided by passing
in either `--bootloader` or `--recovery` to boot into the bootloader or
recovery, respectively.
The 'fuchsia.hardware.power.statecontrol.Admin' is exposed via the 'appmgr'
component. To verify that the target exposes this service, `ffx component
select` or `ffx component knock` can be used.
Error codes:
1 Timeout while powering off target.
```
### remove
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target remove <id>
Make the daemon forget a specific target
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To remove a target by its target name:
$ ffx target remove correct-horse-battery-staple
Or to remove a target using its IP address:
$ ffx target remove fe80::32fd:38ff:fea8:a00a
Notes:
IP addresses are matched by their full string representation.
for best results, copy the exact address from ffx target list.
```
### show
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target show [--desc] [--label] [--json] [--version]
Display relevant information for the target
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--desc display descriptions of entries
--label display label of entries
--json formats output as json objects
--version display version
--help display usage information
Notes:
Displays a detailed iformation about the target.
The default output is intended for a human reader. This output can be
decorated with machine readable labels (--label) and descriptions of
each field (--desc).
The 'label' fields in the machine readable output (--json) will remain
stable across software updates and is not localized (compare to 'title'
which may change or be localized). The 'value' field will be one of:
'null', 'bool', 'string', or a list of strings.
Error codes:
1 Timeout retrieving target information.
```
### snapshot
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target snapshot [-d <dir>] [--dump-annotations]
Takes a snapshot of the target's state
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-d, --dir valid directory where the snapshot will be stored.
--dump-annotations
print annotations
--help display usage information
Examples:
Store the target's snapshot in the current directory:
$ ffx target snapshot -d .
Exported ./snapshot.zip
Notes:
This command connects to a running target to acquire its snapshot, which contains
useful debugging information about the target. The `--dir` can be supplied to override the default
snapshot directory `/tmp/snapshots/YYYYMMDD_HHMMSS/`.
Snapshot contents:
- Build information and annotations
- Kernel and system logs
- Inspect data
```
### update
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target update <command> [<args>]
Update base system software on target
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
channel View and manage update channels
check-now Check and perform the system update operation
force-install Trigger the system updater manually
Notes:
This command interfaces with system update services on the target.
```
#### channel
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target update channel <command> [<args>]
View and manage update channels
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
get-current Return the currently configured update channel
get-next Return the next or target update channel
set Sets the update channel
list List the known update channels
Notes:
Channel management commands and operations. Interfaces directly with
the 'fuchsia.update.channelcontrol.ChannelControl' service on the target
system.
```
##### get-current
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target update channel get-current
Return the currently configured update channel
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Notes:
For developer product configurations, this is by default 'devhost'.
Error codes:
1 Timeout while getting update channel.
```
##### get-next
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target update channel get-next
Return the next or target update channel
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Notes:
Returns the next or target channel. This differs from `get` when the
next successful update changes the configured update channel on the
system.
Error codes:
1 Timeout while getting update channel.
```
##### list
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target update channel list
List the known update channels
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Notes:
This lists all the known next or target update channels on the system.
Returns an empty list if no other update channels are configured.
Error codes:
1 Timeout while getting list of update channel.
```
##### set
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target update channel set <channel>
Sets the update channel
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Examples:
To list all the known update channels:
$ ffx target update channel list
Then, use a valid channel from the list:
$ ffx target update channel set <channel>
Notes:
Sets the next or target update channel on the device. When paired with
`ffx target update check-now`, ensures the update is check against the
next or target channel. When the update is successful, next or target
channel becomes the current channel.
Use `ffx target update channel list` to list known system update
channels.
Error codes:
1 Timeout while setting update channel.
```
#### check-now
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target update check-now [--service-initiated] [--monitor]
Check and perform the system update operation
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--service-initiated
the update check was initiated by a service, in the
background.
--monitor monitor for state update.
--help display usage information
Examples:
To check for update and monitor progress:
$ ffx target update check-now --monitor
Notes:
Triggers an update check operation and performs the update if available.
Interfaces using the 'fuchsia.update Manager' protocol with the system
update service on the target.
The command takes in an optional `--monitor` switch to watch the progress
of the update. The output is displayed in `stdout`.
The command also takes an optional `--service-initiated` switch to indicate
a separate service has initiated a check for update.
```
#### force-install
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target update force-install <update_pkg_url> [--reboot <reboot>]
Trigger the system updater manually
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--reboot automatically trigger a reboot into the new system
--help display usage information
Examples:
With a known update package URL, trigger an update:
$ ffx target update force-install fuchsia-pkg://fuchsia.com/update
Also trigger a reboot after update:
$ ffx target update force-install
fuchsia-pkg://fuchsia.com/update
--reboot
Notes:
Directly invoke the system updater to install the provided update,
bypassing any update checks.
Interfaces using the 'fuchsia.update.installer' protocol to update the
system. Requires an <update_pkg_url> in the following format:
`fuchsia-pkg://fuchsia.com/update`
Takes an optional `--reboot <true|false>` to trigger a system reboot
after update has been successfully applied.
```
### wait
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx target wait [-t <timeout>]
Wait until the target becomes available.
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-t, --timeout the timeout in seconds [default = 60]
--help display usage information
Error codes:
1 Timeout while getting ssh address
```
## test
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx test <command> [<args>]
Run test suite
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
run Run test suite
list List test suite cases
result Manage test results
Notes:
Run tests or inspect output from a previous test run.
```
### list
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx test list <test_url>
List test suite cases
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Notes:
Lists the set of test cases available in a test suite
```
### result
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx test result <command> [<args>]
Manage test results
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
show Display test results
list List test results
delete Delete test results
save Save test results
Notes:
Inspect and manage the results from previous test runs
```
#### delete
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx test result delete [--index <index>] [--name <name>]
Delete test results
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--index when set, display the results of a run with specified index.
--name when set, display the results of a run with specified name.
--help display usage information
Notes:
Manually delete a previous test run result.
Either --index or --name must be specified.
```
#### list
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx test result list
List test results
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
Notes:
Display a list of previous test runs
```
#### save
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx test result save --index <index> --name <name>
Save test results
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--index the index of the test result to save.
--name the name to assign the saved test result.
--help display usage information
Notes:
Mark a test result so it is not garbage collected.
By default, ffx test only retains the last 'n' test results, as configured
with 'test.save_count'. A test result saved and given a name using the save
command will be exempted from this cleanup and will not be counted towards the
total number of saved test results.
```
#### show
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx test result show [--directory <directory>] [--index <index>] [--name <name>]
Display test results
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--directory when set, display the results of the specified directory.
--index when set, display the results of a run with specified index.
--name when set, display the results of a run with specified name.
--help display usage information
Notes:
Display the results of a previous test run.
When no options are provided, displays the results of the most recent test run.
```
### run
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx test run <test_url> [-t <timeout>] [--test-filter <test-filter...>] [--run-disabled] [--filter-ansi] [--parallel <parallel>] [--count <count>] [--min-severity-logs <min-severity-logs>] [--max-severity-logs <max-severity-logs>] [--output-directory <output-directory>] [--disable-output-directory]
Run test suite
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-t, --timeout test timeout
--test-filter glob pattern for matching tests. Can be specified multiple
times to pass in multiple patterns. example: --test-filter
glob1 --test-filter glob2.
--run-disabled run tests that have been marked disabled/ignored
--filter-ansi filter ANSI escape sequences from output
--parallel run tests in parallel
--count number of times to run the test [default = 1]
--min-severity-logs
when set, only logs with a severity equal to the given one
or higher will be printed.
--max-severity-logs
when set, the test will fail if any log with a higher
severity is emitted.
--output-directory
when set, output test results to the specified directory.
--disable-output-directory
when set, disables structured output to a directory.
--help display usage information
Notes:
Runs a test or suite implementing the `fuchsia.test.Suite` protocol.
Note that if running multiple iterations of a test and an iteration times
out, no further iterations will be executed.
```
## trace
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx trace <command> [<args>]
Interact with the tracing subsystem
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
__Commands:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
list-providers List the target's trace providers
start Record a trace
stop Record a trace
```
### list-providers
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx trace list-providers
List the target's trace providers
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--help display usage information
```
### start
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx trace start [--buffer-size <buffer-size>] [--categories <categories>] [--duration <duration>] [--output <output>]
Record a trace
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--buffer-size size of per-provider trace buffer in MB. Defaults to 4.
--categories comma-separated list of categories to enable. Defaults to
"app,audio,benchmark,blobfs,gfx,input,kernel:meta,
kernel:sched,ledger,magma,minfs,modular,view,flutter,
dart,dart:compiler,dart:dart,dart:debugger,dart:embedder,
dart:gc,dart:isolate,dart:profiler,dart:vm"
--duration duration of trace capture in seconds. If not set,
interactive mode is used.
--output name of output trace file. Defaults to trace.fxt.
--help display usage information
```
### stop
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx trace stop [--output <output>]
Record a trace
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
--output name of output trace file. Defaults to trace.fxt.
--help display usage information
```
## version
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
Usage: ffx version [-v]
Print out ffx tool and daemon versions
```
__Options:__
```none {: style="white-space: break-spaces;" .devsite-disable-click-to-copy}
-v, --verbose if true, includes details about both ffx and the daemon
--help display usage information
```