Fuchsia's developer tool
Usage: ffx [-c <config...>] [-e <env>] [--machine <machine>] [--schema] [--stamp <stamp>] [-t <target>] [-T <timeout>] [-l <log-level>] [--isolate-dir <isolate-dir>] [-v] [-o <log-output>] [subcommand...]
Options | |
---|---|
--help | display usage information |
-c, --config | override configuration values (key=value, JSON string, or path to a JSON config file) |
-e, --env | override the path to the environment configuration file (file path) |
--machine | produce output for a machine in the specified format; available formats: “json”, “json-pretty” |
--schema | produce the JSON schema for the MachineWriter output. The --machine option is required when producing the schema. |
--stamp | create a stamp file at the given path containing the exit code |
-t, --target | apply operations across single or multiple targets |
-T, --timeout | override default proxy timeout |
-l, --log-level | sets the log level for ffx output (default = Info). Other possible values are Info, Error, Warn, and Trace. Can be persisted via log.level config setting. |
--isolate-dir | turn on isolation mode using the given directory to isolate all config and socket files into the specified directory. This overrides the FFX_ISOLATE_DIR env variable, which can also put ffx into this mode. |
-v, --verbose | logs ffx output to stdio according to log level |
-o, --log-output | specify destination of log output. “-” or “stdout” for stdout, “stderr” for stderr. If no destination is specified, log.dir will be used. If a destination is specified, then log.dir will be ignored. |
Subcommands | |
---|---|
component | Discover and manage components |
config | View and switch default and user configurations |
daemon | Interact with/control the ffx daemon |
debug | Start a debugging session. |
doctor | Run common checks for the ffx tool and host environment |
emu | Start and manage Fuchsia emulators. |
net | View and manage target network configuration |
package | Create and publish Fuchsia packages |
platform | Manage platform build prerequisites |
product | Discover and access product bundle metadata and image data. |
repository | Inspect and manage package repositories |
sdk | Modify or query the installed SDKs |
session | Control the session component. |
target | Interact with a target device or emulator |
version | Print out ffx tool and daemon versions |
Discover and manage components
Usage: ffx component [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
capability | Lists component instances that reference a capability |
collection | Manages collections in the component topology |
copy | copies files to/from directories associated with a component. |
Paths may be any combination of local or remote paths. | |
create | Creates a dynamic component instance, adding it to the collection designated by |
debug | Debug a running component with zxdb. |
destroy | Destroys a dynamic component instance, removing it from the collection designated by |
doctor | Perform diagnostic checks on a component at runtime. |
explore | Spawns a shell scoped to a component instance. |
graph | Outputs a Graphviz dot graph for the components in the component topology. Children of unresolved components are not included in this list. |
list | Lists components in the component topology. Children of unresolved components are not included in this list. |
reload | Recursively stops, unresolves, and starts a component instance, updating the code and topology while preserving resources |
resolve | Resolves a component instance |
route | Perform capability routing on a component at runtime. |
run | Creates and starts a component instance in an existing collection |
within the component topology. | |
show | Shows detailed information about a component instance |
start | Starts a component |
stop | Stops a component instance |
storage | Manages storage capabilities of components |
Lists component instances that reference a capability
Usage: ffx component capability capability
Options | |
---|---|
--help | display usage information |
Examples
Manages collections in the component topology
Usage: ffx component collection [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
list | List all collections in the component topology |
show | Shows detailed information about a collection in the component topology |
List all collections in the component topology
Usage: ffx component collection list
Options | |
---|---|
--help | display usage information |
Shows detailed information about a collection in the component topology
Usage: ffx component collection show query
Options | |
---|---|
--help | display usage information |
copies files to/from directories associated with a component. Paths may be any combination of local or remote paths.
Usage: ffx component copy [-v] [paths...]
Options | |
---|---|
--help | display usage information |
-v, --verbose | verbose output: outputs a line for each file copied. |
Examples
Notes
Creates a dynamic component instance, adding it to the collection designated by
Usage: ffx component create [--config <config...>] moniker url
Options | |
---|---|
--help | display usage information |
--config | provide a configuration override to the component being run. Requires mutability: [ "parent" ] on the configuration field. Specified in the format KEY=VALUE where VALUE is a JSON string which can be resolved as the correct type of configuration value. |
Examples
Notes
Debug a running component with zxdb.
Usage: ffx component debug query
Options | |
---|---|
--help | display usage information |
Examples
Notes
Destroys a dynamic component instance, removing it from the collection designated by
Usage: ffx component destroy query
Options | |
---|---|
--help | display usage information |
Examples
Notes
Perform diagnostic checks on a component at runtime.
Usage: ffx component doctor [-p] query
Options | |
---|---|
--help | display usage information |
-p, --plain | whether or not to display the output without color and wrapping. |
Examples
Spawns a shell scoped to a component instance.
Usage: ffx component explore [--tools <tools...>] [-c <command>] [-l <layout>] query
Options | |
---|---|
--help | display usage information |
--tools | list of URLs of tools packages to include in the shell environment. the PATH variable will be updated to include binaries from these tools packages. repeat --tools url for each package to be included. The path preference is given by command line order. |
-c, --command | execute a command instead of reading from stdin. the exit code of the command will be forwarded to the host. |
-l, --layout | changes the namespace layout that is created for the shell. nested: nests all instance directories under subdirs (default) namespace: sets the instance namespace as the root (works better for tools) |
Examples
Notes
directories of the explored instance:
The environment also contains the following directories, irrespective of the explored instance:
When --layout=namespace, the contents of the /ns dir above are placed at / with two protocols (fuchsia.process.Launcher and fuchsia.process.Resolver) overlayed into /svc. In this mode, the exposed, out, and runtime directories will not be accessible.
With --tools, tools in the specified package will be loaded into /.dash/tools// The path is set so that they can be run by name. The path preference is in the command line order of the --tools arguments, with any built-in tools taking lowest priority.
--tools URLs may be package or binary URLs. If a package URL is given, tool executables are expected to be in a bin/ dir within the package. If a specific tool URL is given, append the tool path to the package URL. For example: --tools fuchsia-pkg://fuchsia.com/my_package#bin/my_tool. Note that naming collisions can occur if multiple packages share a package or binary name. An error, NonUniqueBinaryName
, is returned if a binary name collision occurs.
Outputs a Graphviz dot graph for the components in the component topology. Children of unresolved components are not included in this list.
Usage: ffx component graph [-o <only>] [-r <orientation>]
Options | |
---|---|
--help | display usage information |
-o, --only | filter the instance list by a criteria: ancestor, descendant, relative |
-r, --orientation | changes the visual orientation of the graph's nodes. Allowed values are “lefttoright”/“lr” and “toptobottom”/“tb”. |
Examples
Lists components in the component topology. Children of unresolved components are not included in this list.
Usage: ffx component list [-o <only>] [-v]
Options | |
---|---|
--help | display usage information |
-o, --only | filter the instance list by a criteria: running, stopped, ancestors:<component_name>, descendants:<component_name>, or relatives:<component_name> |
-v, --verbose | show detailed information about each instance |
Examples
Recursively stops, unresolves, and starts a component instance, updating the code and topology while preserving resources
Usage: ffx component reload query
Options | |
---|---|
--help | display usage information |
Examples
Notes
Resolves a component instance
Usage: ffx component resolve query
Options | |
---|---|
--help | display usage information |
Examples
Perform capability routing on a component at runtime.
Usage: ffx component route target [filter]
Options | |
---|---|
--help | display usage information |
Examples
Creates and starts a component instance in an existing collection within the component topology.
Usage: ffx component run [-r] [-f] [--connect-stdio] [--config <config...>] moniker url
Options | |
---|---|
--help | display usage information |
-r, --recreate | destroy and recreate the component instance if it already exists |
-f, --follow-logs | start printing logs from the started component after it has started |
--connect-stdio | connect stdin, stdout, and stderr to the component (requires component to be in a collection with single_run durability) |
--config | provide a configuration override to the component being run. Requires mutability: [ "parent" ] on the configuration field. Specified in the format KEY=VALUE where VALUE is a JSON string which can be resolved as the correct type of configuration value. |
Examples
Notes
To learn more about running components, see https://fuchsia.dev/go/components/run
Shows detailed information about a component instance
Usage: ffx component show query
Options | |
---|---|
--help | display usage information |
Examples
Notes
Starts a component
Usage: ffx component start [--debug] query
Options | |
---|---|
--help | display usage information |
--debug | start the component in the debugger. To debug a component that is already running, consider ffx component debug . |
Examples
Notes
Stops a component instance
Usage: ffx component stop query
Options | |
---|---|
--help | display usage information |
Examples
Notes
Manages storage capabilities of components
Usage: ffx component storage [--provider <provider>] [--capability <capability>] [subcommand...]
Options | |
---|---|
--help | display usage information |
--provider | the moniker of the storage provider component. Defaults to “/core” |
--capability | the capability name of the storage to use. Examples: “data”, “cache”, “tmp” Defaults to “data” |
Subcommands | |
---|---|
copy | Copy files to/from a component's storage. If the file already exists at the destination it is overwritten. |
delete | Delete files from a component's storage. |
delete-all | Delete the contents of the storage for a specific component. |
list | List the contents of a component's storage. |
make-directory | Create a new directory in a component's storage. If the directory already exists, this operation is a no-op. |
Copy files to/from a component's storage. If the file already exists at the destination it is overwritten.
Usage: ffx component storage copy source_path destination_path
Options | |
---|---|
--help | display usage information |
Examples
Delete files from a component's storage.
Usage: ffx component storage delete path
Options | |
---|---|
--help | display usage information |
Examples
Delete the contents of the storage for a specific component.
Usage: ffx component storage delete-all moniker
Options | |
---|---|
--help | display usage information |
Examples
List the contents of a component's storage.
Usage: ffx component storage list path
Options | |
---|---|
--help | display usage information |
Examples
Create a new directory in a component's storage. If the directory already exists, this operation is a no-op.
Usage: ffx component storage make-directory path
Options | |
---|---|
--help | display usage information |
Examples
View and switch default and user configurations
Usage: ffx config [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
add | add config value the end of an array |
analytics | enable or disable analytics |
check-ssh-keys | check the ssh key configuration and create keys if needed. |
env | list environment settings |
get | display config values |
remove | remove config for a given level |
set | set config settings |
add config value the end of an array
Usage: ffx config add [-l <level>] [-b <build-dir>] name value
Options | |
---|---|
--help | display usage information |
-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 - used for “build” configs. If not provided, it may attempt to autodiscover your active build directory. |
Notes
enable or disable analytics
Usage: ffx config analytics [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
disable | disable analytics |
enable | enable analytics |
show | show analytics |
disable analytics
Usage: ffx config analytics disable
Options | |
---|---|
--help | display usage information |
enable analytics
Usage: ffx config analytics enable
Options | |
---|---|
--help | display usage information |
show analytics
Usage: ffx config analytics show
Options | |
---|---|
--help | display usage information |
check the ssh key configuration and create keys if needed.
Usage: ffx config check-ssh-keys
Options | |
---|---|
--help | display usage information |
list environment settings
Usage: ffx config env [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
get | list environment for a given level |
set | set environment settings |
list environment for a given level
Usage: ffx config env get [level]
Options | |
---|---|
--help | display usage information |
set environment settings
Usage: ffx config env set [-l <level>] [-b <build-dir>] file
Options | |
---|---|
--help | display usage information |
-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 - used for “build” configs. If not provided, it may attempt to autodiscover your active build directory. |
display config values
Usage: ffx config get [-p <process>] [-s <select>] [-b <build-dir>] [name]
Options | |
---|---|
--help | display usage information |
-p, --process | how to process results. Possible values are “r/raw”, “s/sub/substitute”, or “f/file”. Defaults to “substitute”. 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 - used for “build” configs. If not provided, it may attempt to autodiscover your active build directory. |
Errors | |
---|---|
2 | No value found |
remove config for a given level
Usage: ffx config remove [-l <level>] [-b <build-dir>] name
Options | |
---|---|
--help | display usage information |
-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 - used for “build” configs. If not provided, it may attempt to autodiscover your active build directory. |
Notes
set config settings
Usage: ffx config set [-l <level>] [-b <build-dir>] name value
Options | |
---|---|
--help | display usage information |
-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 - used for “build” configs. If not provided, it may attempt to autodiscover your active build directory. |
Interact with/control the ffx daemon
Usage: ffx daemon [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
crash | crash the daemon |
echo | run echo test against the daemon |
hang | hang the daemon |
log | Dumps the daemon log |
socket | query information about the daemon socket without connecting to it |
start | run as daemon -- normally unnecessary, as the daemon is automatically started on demand. Used primarily for debugging |
stop | stops a running daemon |
crash the daemon
Usage: ffx daemon crash
Options | |
---|---|
--help | display usage information |
run echo test against the daemon
Usage: ffx daemon echo [text]
Options | |
---|---|
--help | display usage information |
hang the daemon
Usage: ffx daemon hang
Options | |
---|---|
--help | display usage information |
Dumps the daemon log
Usage: ffx daemon log [-f] [-l <line-count>]
Options | |
---|---|
--help | display usage information |
-f, --follow | print appended logs as they happen |
-l, --line-count | display most recent log lines. |
query information about the daemon socket without connecting to it
Usage: ffx daemon socket
Options | |
---|---|
--help | display usage information |
run as daemon -- normally unnecessary, as the daemon is automatically started on demand. Used primarily for debugging
Usage: ffx daemon start [--path <path>]
Options | |
---|---|
--help | display usage information |
--path | override the path the socket will be bound to |
stops a running daemon
Usage: ffx daemon stop [-w] [--no-wait] [-t <timeout-ms>]
Options | |
---|---|
--help | display usage information |
-w, --wait | wait indefinitely for the daemon to stop before exiting (should not be used in automated systems) |
--no-wait | do not wait for daemon to stop (default behavior -- eventually to be deprecated) |
-t, --timeout-ms | optional timeout (in milliseconds) to wait for the daemon to stop. Will try killing the daemon if it does not exit on its own. |
Start a debugging session.
Usage: ffx debug [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
connect | start the debugger and connect to the target |
core | start the debugger and open a minidump |
crash | catch a crashing process on the target |
fidl | monitor FIDL traffic on the target |
limbo | control the process limbo on the target |
symbol-index | manage symbol sources used by other debug commands |
symbolize | symbolize backtraces in markup format |
start the debugger and connect to the target
Usage: ffx debug connect [--debugger <debugger>] [--agent-only] [-a <attach...>] [-e <execute...>] [--new-agent] [zxdb_args...]
Options | |
---|---|
--help | display usage information |
--debugger | start zxdb in another debugger. Currently, the only valid option is “lldb”. |
--agent-only | only start the debug agent but not the zxdb. The path to the UNIX socket will be printed and can be connected via “connect -u” in zxdb shell. |
-a, --attach | attaches to given processes. The argument will be parsed in the same way as the “attach” command in the console. |
-e, --execute | execute one zxdb command. Multiple commands will be executed sequentially. |
--new-agent | always spawn a new DebugAgent instance for this zxdb invocation. |
start the debugger and open a minidump
Usage: ffx debug core [--zxdb-args <zxdb-args...>] [minidump]
Options | |
---|---|
--help | display usage information |
--zxdb-args | extra arguments passed to zxdb. |
catch a crashing process on the target
Usage: ffx debug crash
Options | |
---|---|
--help | display usage information |
monitor FIDL traffic on the target
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...>] [-f <remote-name...>] [--extra-name <extra-name...>] [-c <remote-component...>] [--extra-component <extra-component...>] [--fidl-ir-path <fidl-ir-path...>] [extra_args...]
Options | |
---|---|
--help | display usage information |
--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. : playback. Used to replay a session previously recorded with --to (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 ”. 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. |
-f, --remote-name | the of a process. Fidlcat will monitor all existing and future processes whose names includes ( 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” but for these processes, monitoring starts only when one of the “--remote-name” or “--remote-component” is launched. Also, fidlcat stops when the last “--remote-name” or “--remote-component” stops, even if some “--extra-name” processes are still running. You must specify at least one filter with “--remote-name” or “--remote-component” if you use this option. This option can be specified multiple times. |
-c, --remote-component | the URL or the moniker of a component for which we want to monitor. All processes running in the component will be monitered. This option can be specified multiple times. |
--extra-component | like “--remote-component” but for these components, monitoring starts only when one of the “--remote-name” or “--remote-component” is launched. Also, fidlcat stops when the last “--remote-name” or “--remote-component” stops, even if some “--extra-component” are still running. You must specify at least one filter with “--remote-name” or “--remote-component” if you use this option. This option can be specified multiple times. |
--fidl-ir-path | add the given path as a repository for FIDL IR, in the form of .fidl.json files. Passing a file adds the given file. Passing a directory adds all of the .fidl.json files in that directory and any directory transitively reachable from there. An argfile contains a newline-separated list of .fidl.json files relative to the directory containing the argfile; passing an argfile (starting with the ‘@’ character) adds all files listed in that argfile. This option can be specified multiple times. |
control the process limbo on the target
Usage: ffx debug limbo [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
disable | disable the process limbo. Will free any pending processes waiting in it. |
enable | enable the process limbo. It will now begin to capture crashing processes. |
list | lists the processes currently waiting on limbo. The limbo must be active. |
release | release a process from limbo. The limbo must be active. |
status | query the status of the process limbo. |
disable the process limbo. Will free any pending processes waiting in it.
Usage: ffx debug limbo disable
Options | |
---|---|
--help | display usage information |
enable the process limbo. It will now begin to capture crashing processes.
Usage: ffx debug limbo enable
Options | |
---|---|
--help | display usage information |
lists the processes currently waiting on limbo. The limbo must be active.
Usage: ffx debug limbo list
Options | |
---|---|
--help | display usage information |
release a process from limbo. The limbo must be active.
Usage: ffx debug limbo release pid
Options | |
---|---|
--help | display usage information |
query the status of the process limbo.
Usage: ffx debug limbo status
Options | |
---|---|
--help | display usage information |
manage symbol sources used by other debug commands
Usage: ffx debug symbol-index [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
add | add a path or url to the symbol index |
clean | remove all non-existent paths |
list | show the content in symbol index |
remove | remove a path from the symbol index |
Notes
symbol files.
add a path or url to the symbol index
Usage: ffx debug symbol-index add [--build-dir <build-dir>] source
Options | |
---|---|
--help | display usage information |
--build-dir | optional build directory used by zxdb to locate the source code |
Notes
Duplicated adding of the same path or url is a no-op, regardless of the optional build directory.
remove all non-existent paths
Usage: ffx debug symbol-index clean
Options | |
---|---|
--help | display usage information |
Notes
collection.
show the content in symbol index
Usage: ffx debug symbol-index list [-a]
Options | |
---|---|
--help | display usage information |
-a, --aggregated | show the aggregated symbol index |
remove a path from the symbol index
Usage: ffx debug symbol-index remove source
Options | |
---|---|
--help | display usage information |
Notes
symbolize backtraces in markup format
Usage: ffx debug symbolize [--auth] [--no-prettify] [symbolizer_args...]
Options | |
---|---|
--help | display usage information |
--auth | start the authentication process. |
--no-prettify | do not prettify the backtraces. |
Run common checks for the ffx tool and host environment
Usage: ffx doctor [--record] [--no-config] [--retry-count <retry-count>] [--retry-delay <retry-delay>] [--restart-daemon] [-v] [--output-dir <output-dir>] [--repair-keys]
Options | |
---|---|
--help | display usage information |
--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 |
-v, --verbose | verbose, display all steps |
--output-dir | override the default output directory for doctor records |
--repair-keys | checks SSH key consistency and repairs them if needed. This may cause any devices to be reflashed. |
Examples
Notes
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.
Start and manage Fuchsia emulators.
Usage: ffx emu [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
console | [EXPERIMENTAL] Connect to a running Fuchsia emulator's console. |
list | List running Fuchsia emulators. |
show | Show Fuchsia emulator details. |
start | Start the Fuchsia emulator. |
stop | Shut down a running Fuchsia emulator. |
Notes
The start
subcommand launches an emulator according to the configuration in the Product Bundle. Once one or more emulators are running, you can use the list
subcommand to see the name and status of all running emulators, and the show
subcommand to get a printout of the configuration for a specific emulator. When you're done with an emulator, use the stop
subcommand to cleanly terminate that emulator.
For more information on the Fuchsia emulator, see the Getting Started page at https://fuchsia.dev/fuchsia-src/get-started/set_up_femu.
[EXPERIMENTAL] Connect to a running Fuchsia emulator's console.
Usage: ffx emu console [--console-type <console-type>] [-c] [-m] [-s] [name]
Options | |
---|---|
--help | display usage information |
--console-type | selector for which console to attach to. Accepted values are: command machine serial |
-c, --command | attach to the user-interactive command console. Equivalent to “--console-type command”. |
-m, --machine | attach to the machine-readable command console. Equivalent to “--console-type machine”. |
-s, --serial | attach to the Fuchsia serial console. Equivalent to “--console-type serial”. |
Examples
List running Fuchsia emulators.
Usage: ffx emu list [-r]
Options | |
---|---|
--help | display usage information |
-r, --only-running | list only the emulators that are currently in the “running” state. |
Show Fuchsia emulator details.
Usage: ffx emu show [--all] [--cmd] [--config] [--device] [--net] [name]
Options | |
---|---|
--help | display usage information |
--all | show all of the available details, which is the default. |
--cmd | show the command line used to launch the emulator. |
--config | show the configuration in a format consistent with the ‘start’ command's --config flag. |
--device | show the virtual device information used to launch this emulator, in a format consistent with the ‘start’ command's --device flag. |
--net | switch to show network details. |
Start the Fuchsia emulator.
Usage: ffx emu start [--accel <accel>] [--config <config>] [--dev-config <dev-config>] [--console] [--debugger] [--device <device>] [--device-list] [--dry-run] [--edit] [--engine <engine>] [--gpu <gpu>] [-H] [--hidpi-scaling <hidpi-scaling>] [-c <kernel-args...>] [-l <log>] [-m] [--name <name>] [--net <net>] [--port-map <port-map...>] [--reuse] [--reuse-with-check] [--stage] [-s <startup-timeout>] [-V] [product_bundle]
Options | |
---|---|
--help | display usage information |
--accel | virtualization acceleration. Valid choices are “none” to disable acceleration, “hyper” to use the host's hypervisor interface (KVM on Linux and HVF on MacOS), or “auto” to use the hypervisor if detected. The default value is “auto”. |
--config | specify a configuration file to populate the command line flags for the emulator. Defaults to a Handlebars config specified in the Product Bundle manifest. |
--dev-config | specify developer config file to append onto the configuration. This is a JSON file with the object structure: {{ “args”: [], “kernel_args”: [], “env” : {{“key”: “value”}} }} |
--console | launch the emulator in serial console mode. This redirects the virtual serial port to the host‘s input/output streams, multi-plexed with the QEMU monitor console, then maintains a connection to those streams rather than returning control to the host terminal. This is especially useful when the guest is running without networking enabled. Note: Control sequences are passed through to the guest system in this mode, so Crtl-c will terminate the guest system’s shell, rather than the emulator process itself. If you need to hard-kill the emulator, use the QEMU sequence ‘Ctrl-a x’ instead. |
--debugger | pause on launch and wait for a debugger process to attach before resuming. The guest operating system will not begin execution until a debugger, such as gdb or lldb, attaches to the emulator process and signals the emulator to continue. |
--device | the virtual device specification used to configure the emulator. This can be the name of a device listed in the product bundle, or the path to a custom virtual device file. A default for this flag can be set by running ffx config set emu.device <type> . If --device is not specified and no default is set, then ffx emu will attempt to use the first device listed in the PBM(v1), or the product bundle's recommended device(v2). |
--device-list | print the list of available virtual devices. |
--dry-run | sets up the emulation configuration, but doesn't stage files or start the emulator. The command line arguments that the current configuration generates will be printed to stdout for review. |
--edit | open the user's default editor to modify the command line flags for the emulator. |
--engine | emulation engine to use for this instance. Allowed values are “femu” which is based on Android Emulator, and “qemu” which uses the version of Qemu packaged with Fuchsia. Default is “femu”. This can be overridden by running ffx config set emu.engine <type> . |
--gpu | GPU acceleration mode. Allowed values are “swiftshader_indirect”, “host”, or “auto”. Default is “swiftshader_indirect”. “host” and “auto” are for experimental use only and are not officially supported by the Fuchsia emulator team; graphics artifacts, test failures and emulator crashes may occur. Note: this is unused when using the “qemu” engine type. See https://developer.android.com/studio/run/emulator-acceleration#command-gpu for details on the available options. This can be overridden by running ffx config set emu.gpu <type> . |
-H, --headless | run the emulator without a GUI. The guest system may still initialize graphics drivers, but no graphics interface will be presented to the user. |
--hidpi-scaling | enable pixel scaling on HiDPI devices. Defaults to true for MacOS, false otherwise. |
-c, --kernel-args | passes the given string to the emulator executable, appended after all other arguments (since duplicated values favor the later value). This means command-line values will override configuration-provided values for any of these kernel arguments. Can be repeated arbitrarily many times for multiple additional kernel arguments. |
-l, --log | store the emulator log at the provided filesystem path. By default, all output goes to a log file in the emulator working directory. The path to this file is printed onscreen during start-up. |
-m, --monitor | launch the emulator in Qemu monitor console mode. See https://qemu-project.gitlab.io/qemu/system/monitor.html for more information on the Qemu monitor console. |
--name | name of this emulator instance. This is used to identify the instance in other commands and tools. Default is “fuchsia-emulator”. This value can also be set via configuration using the key emu.name . |
--net | specify the networking mode for the emulator. Allowed values are “none” which disables networking, “tap” which attaches to a Tun/Tap interface, “user” which sets up mapped ports via SLiRP, and “auto” which will check the host system's capabilities and select “tap” if it is available and “user” otherwise. Default is “auto”. This can be overridden by running ffx config set emu.net <type> . |
--port-map | specify a host port mapping for user-networking mode. Ignored in other networking modes. Syntax is “--port-map :”. The must be one of those specified in the virtual device specification. This flag may be repeated for multiple port mappings. |
--reuse | reuse a persistent emulator's state when starting up. If an emulator with the same name as this instance has been previously started and then stopped without cleanup, this instance will reuse the images from the previous instance. If no previous instance is found, or if the old instance is still running, the new emulator will not attempt to start. |
--reuse-with-check | reuse a persistent emulator's state when starting up after version check. If an emulator with the same name as this instance has been previously started and then stopped without cleanup, the zbi and disk volume files are compared against the original. If they match, the instance will reuse the images from the previous instance. If the files do not match, the instance is started using the latest files. If there is no staged instance, the emulator is started using the latest files and the hash information is recorded so this instance can take advantage of this option. |
--stage | sets up the emulation configuration and stages files, but doesn't start the emulator. The command line arguments that the staged configuration generates will be printed to stdout for review. |
-s, --startup-timeout | the maximum time (in seconds) to wait on an emulator to boot before returning control to the user. A value of 0 will skip the check entirely. Default is 60 seconds. This can be overridden with ffx config set emu.start.timeout <seconds> . |
-V, --verbose | enables extra logging for debugging. |
Examples
Notes
The name provided here will be used for all later interactions to indicate which emulator to target. Emulator names must be unique.
The start command will compile all of the necessary configuration for an emulator, launch the emulator, and then store the configuration on disk for future reference. The configuration comes from the Product Bundle, which includes a virtual device specification and a start-up flag template. See https://fuchsia.dev/fuchsia-src/contribute/governance/rfcs/0100_product_metadata for more information.
Shut down a running Fuchsia emulator.
Usage: ffx emu stop [--all] [-p] [name]
Options | |
---|---|
--help | display usage information |
--all | shut down and clean up all emulator instances running on the device. |
-p, --persist | don't remove the state directory on stop, just terminate the emulator. |
Examples
Notes
working directory, which contains emulator state, staged image files, etc.
Use the --persist flag if you need to leave the working directory intact while shutting down the emulator, for debugging or troubleshooting purposes. The working directory will be left in place, and the emulator will be marked [Inactive] in ffx emu list
results until stop is called for that instance without the --persist flag.
View and manage target network configuration
Usage: ffx net [--realm <realm>] [subcommand...]
Options | |
---|---|
--help | display usage information |
--realm | a realm to target when sending commands. Defaults to the core network realm. |
Subcommands | |
---|---|
dhcp | commands for an interfaces dhcp client |
dhcpd | commands to control a dhcp server |
dns | commands to control the dns resolver |
filter | commands for configuring packet filtering |
filter-deprecated | commands for configuring packet filtering with the deprecated API |
if | commands for network interfaces |
log | commands for logging |
migration | controls netstack selection for migration from netstack2 to netstack3 |
neigh | commands for neighbor tables |
route | commands for routing tables |
commands for an interfaces dhcp client
Usage: ffx net dhcp [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
start | starts a dhcp client on the interface |
stop | stops the dhcp client on the interface |
starts a dhcp client on the interface
Usage: ffx net dhcp start nicid or name:ifname
Options | |
---|---|
--help | display usage information |
stops the dhcp client on the interface
Usage: ffx net dhcp stop nicid or name:ifname
Options | |
---|---|
--help | display usage information |
commands to control a dhcp server
Usage: ffx net dhcpd [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
clear-leases | A primary command to clear the leases maintained by dhcpd. |
get | A primary command to retrieve the value of a DHCP option or server parameter. |
list | A primary command to list the values of all DHCP options or server parameters. |
reset | A primary command to reset the values of all DHCP options or server parameters. |
set | A primary command to set the value of a DHCP option or server parameter. |
start | A primary command to start the DHCP server. |
stop | A primary command to stop the DHCP server. |
A primary command to clear the leases maintained by dhcpd.
Usage: ffx net dhcpd clear-leases
Options | |
---|---|
--help | display usage information |
A primary command to retrieve the value of a DHCP option or server parameter.
Usage: ffx net dhcpd get [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
option | A secondary command indicating a DHCP option argument. |
parameter | A secondary command indicating a server parameter argument. |
A secondary command indicating a DHCP option argument.
Usage: ffx net dhcpd get option [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
all-subnets-local | Flag indicating if all subnets of the connected network have the same MTU. |
arp-cache-timeout | Timeout for ARP cache entries. |
boot-file-size | Size of the default boot image for the client. |
bootfile-name | Bootfile name for the client. |
broadcast-address | Broadcast address of the client's subnet. |
cookie-server | RFC 865 Cookie servers available to the client. |
default-finger-server | Default Finger servers available to the client. |
default-ip-ttl | Default time-to-live to use on outgoing IP datagrams. |
default-irc-server | Default IRC servers available to the client. |
default-www-server | Default WWW servers available to the client. |
domain-name | Domain name of the client. |
domain-name-server | Domain Name System servers available to the client. |
ethernet-encapsulation | Flag specifying whether the client should use Ethernet v2 or IEEE 802.3 encapsulation. |
extensions-path | Path name to a TFTP-retrievable file containing vendor-extension information. |
host-name | Name of the client. |
impress-server | Imagen Impress servers available to the client. |
interface-mtu | MTU for the client's interface. |
ip-forwarding | Flag enabling/disabling IP layer packet forwarding. |
log-server | MIT-LCS UDP Log servers available to the client. |
lpr-server | RFC 1179 Line Printer servers available to the client. |
mask-supplier | Flag indicating whether the client should respond to subnet mask discovery requests via ICMP. |
max-datagram-reassembly-size | Maximum sized datagram that the client should be able to reassemble. |
max-message-size | Maximum length of a DHCP message that the participant is willing to accept. |
merit-dump-file | Path name of a core dump file. |
mobile-ip-home-agent | Mobile IP home agents available to the client. |
name-server | IEN 116 Name servers available to the client. |
net-bios-over-tcpip-distribution-server | NetBIOS datagram distribution servers available to the client. |
net-bios-over-tcpip-name-server | NetBIOS name servers available to the client. |
net-bios-over-tcpip-node-type | The NetBIOS node type which should be used by the client. |
net-bios-over-tcpip-scope | NetBIOS scope parameter for the client. |
network-information-servers | Network Information Service servers available to the client. |
network-information-service-domain | Name of the client's Network Information Service domain. |
network-information-service-plus-domain | Network Information System+ domain name. |
network-information-service-plus-servers | Network Information System+ servers available to the client. |
network-time-protocol-servers | Network Time Protocol servers available to the client. |
nntp-server | NNTP servers available to the client. |
non-local-source-routing | Flag enabling/disabling forwarding of IP packets with non-local source routes. |
path-mtu-aging-timeout | Timeout to use when aging Path MTU values. |
path-mtu-plateau-table | Table of MTU sizes for Path MTU Discovery. |
perform-mask-discovery | Flag indicating whether the client should perform subnet mask discovery via ICMP. |
perform-router-discovery | Flag indicating whether the client should solicit routers using Router Discovery. |
policy-filter | Policy filters for non-local source routing. |
pop3-server | POP3 servers available to the client. |
rebinding-time-value | Time interval from address assignment at which the client transitions to a Rebinding state. |
renewal-time-value | Time interval from address assignment at which the client transitions to a Renewing state. |
resource-location-server | RFC 887 Resource Location servers available to the client. |
root-path | Path name to a TFTP-retrievable file containing vendor-extension information. |
router | The routers within a client's subnet. |
router-solicitation-address | Destination address for Router Solicitation requests. |
smtp-server | SMTP servers available to the client. |
static-route | Static Routes which the client should put in its routing cache. |
stda-server | StreetTalk Directory Assistance servers available to the client. |
street-talk-server | StreetTalk servers available to the client. |
subnet-mask | The client's subnet mask. |
swap-server | Address of the client's swap server. |
tcp-default-ttl | Default time-to-live for outgoing TCP segments. |
tcp-keepalive-garbage | Flag specifying whether the client should send TCP keepalive messages with an octet of garbage. |
tcp-keepalive-interval | Interval the client should wait before sending a TCP keepalive message. |
tftp-server-name | TFTP server available to the client. |
time-offset | The client's offset from UTC. |
time-server | Time Protocol servers available to the client. |
trailer-encapsulation | Flag specifying whether the client should negotiate the use of trailers in ARP. |
vendor-specific-information | Option for exchanging vendor-specific information between the DHCP client and DHCP server. |
x-window-system-display-manager | X window System Display Manager systems available to the client. |
x-window-system-font-server | X Window System Font servers available to the client. |
Flag indicating if all subnets of the connected network have the same MTU.
Usage: ffx net dhcpd get option all-subnets-local [--local]
Options | |
---|---|
--help | display usage information |
--local | a flag indicating if all subents of the IP network to which the client is connected have the same MTU. |
Timeout for ARP cache entries.
Usage: ffx net dhcpd get option arp-cache-timeout [--timeout <timeout>]
Options | |
---|---|
--help | display usage information |
--timeout | the timeout for ARP cache entries, in seconds. |
Size of the default boot image for the client.
Usage: ffx net dhcpd get option boot-file-size [--size <size>]
Options | |
---|---|
--help | display usage information |
--size | the size of the client's default boot image in 512-octet blocks. |
Bootfile name for the client.
Usage: ffx net dhcpd get option bootfile-name [--name <name>]
Options | |
---|---|
--help | display usage information |
--name | the bootfile name for the client. This option should be used when the file field has been overloaded to carry options. |
Broadcast address of the client's subnet.
Usage: ffx net dhcpd get option broadcast-address [--addr <addr>]
Options | |
---|---|
--help | display usage information |
--addr | the broadcast address of the client's subnet. Legal values are defined in RFC 1122. |
RFC 865 Cookie servers available to the client.
Usage: ffx net dhcpd get option cookie-server [--cookie-servers <cookie-servers...>]
Options | |
---|---|
--help | display usage information |
--cookie-servers | a list of RFC 865 Cookie servers available to the client, in order of preference. |
Default Finger servers available to the client.
Usage: ffx net dhcpd get option default-finger-server [--finger-servers <finger-servers...>]
Options | |
---|---|
--help | display usage information |
--finger-servers | a list of default Finger server addresses available to the client, listed in order of preference. |
Default time-to-live to use on outgoing IP datagrams.
Usage: ffx net dhcpd get option default-ip-ttl [--ttl <ttl>]
Options | |
---|---|
--help | display usage information |
--ttl | the default time-to-live to use on outgoing IP datagrams. The value must be between 1 and 255. |
Default IRC servers available to the client.
Usage: ffx net dhcpd get option default-irc-server [--irc-servers <irc-servers...>]
Options | |
---|---|
--help | display usage information |
--irc-servers | a list of Internet Relay Chat server addresses available to the client, listed in order of preference. |
Default WWW servers available to the client.
Usage: ffx net dhcpd get option default-www-server [--www-servers <www-servers...>]
Options | |
---|---|
--help | display usage information |
--www-servers | a list of default World Wide Web (WWW) server addresses available to the client, listed in order of preference. |
Domain name of the client.
Usage: ffx net dhcpd get option domain-name [--name <name>]
Options | |
---|---|
--help | display usage information |
--name | the client's domain name for use in resolving hostnames in the DNS. |
Domain Name System servers available to the client.
Usage: ffx net dhcpd get option domain-name-server [--domain-name-servers <domain-name-servers...>]
Options | |
---|---|
--help | display usage information |
--domain-name-servers | a list of DNS servers available to the client, in order of preference; |
Flag specifying whether the client should use Ethernet v2 or IEEE 802.3 encapsulation.
Usage: ffx net dhcpd get option ethernet-encapsulation [--encapsulate]
Options | |
---|---|
--help | display usage information |
--encapsulate | a flag specifying that the client should use Ethernet v2 encapsulation when false, and IEEE 802.3 encapsulation when true. |
Path name to a TFTP-retrievable file containing vendor-extension information.
Usage: ffx net dhcpd get option extensions-path [--path <path>]
Options | |
---|---|
--help | display usage information |
--path | the path name to a TFTP-retrievable file. This file contains data which can be interpreted as the BOOTP vendor-extension field. Unlike the BOOTP vendor-extension field, this file has an unconstrained length and any references to Tag 18 are ignored. |
Name of the client.
Usage: ffx net dhcpd get option host-name [--name <name>]
Options | |
---|---|
--help | display usage information |
--name | the name of client, which may or may not be qualified with the local domain name. |
Imagen Impress servers available to the client.
Usage: ffx net dhcpd get option impress-server [--impress-servers <impress-servers...>]
Options | |
---|---|
--help | display usage information |
--impress-servers | a list of Imagen Impress servers available to the client, in order of preference. |
MTU for the client's interface.
Usage: ffx net dhcpd get option interface-mtu [--mtu <mtu>]
Options | |
---|---|
--help | display usage information |
--mtu | the MTU for the client's interface. Minimum value of 68. |
Flag enabling/disabling IP layer packet forwarding.
Usage: ffx net dhcpd get option ip-forwarding [--enabled]
Options | |
---|---|
--help | display usage information |
--enabled | a flag which will enabled IP layer packet forwarding when true. |
MIT-LCS UDP Log servers available to the client.
Usage: ffx net dhcpd get option log-server [--log-servers <log-servers...>]
Options | |
---|---|
--help | display usage information |
--log-servers | a list of MIT-LCS UDP Log servers available to the client, in order of preference. |
RFC 1179 Line Printer servers available to the client.
Usage: ffx net dhcpd get option lpr-server [--lpr-servers <lpr-servers...>]
Options | |
---|---|
--help | display usage information |
--lpr-servers | a list of RFC 1179 Line Printer servers available to the client, in order of preference. |
Flag indicating whether the client should respond to subnet mask discovery requests via ICMP.
Usage: ffx net dhcpd get option mask-supplier [--supplier]
Options | |
---|---|
--help | display usage information |
--supplier | a flag indicating whether the client should respond to subnet mask discovery requests via ICMP. |
Maximum sized datagram that the client should be able to reassemble.
Usage: ffx net dhcpd get option max-datagram-reassembly-size [--size <size>]
Options | |
---|---|
--help | display usage information |
--size | the maximum sized datagram that the client should be able to reassemble, in octets. The minimum legal value is 576. |
Maximum length of a DHCP message that the participant is willing to accept.
Usage: ffx net dhcpd get option max-message-size [--length <length>]
Options | |
---|---|
--help | display usage information |
--length | the maximum length in octets of a DHCP message that the participant is willing to accept. The minimum value is 576. |
Path name of a core dump file.
Usage: ffx net dhcpd get option merit-dump-file [--path <path>]
Options | |
---|---|
--help | display usage information |
--path | the path name to the client's core dump in the event the client crashes. |
Mobile IP home agents available to the client.
Usage: ffx net dhcpd get option mobile-ip-home-agent [--home-agents <home-agents...>]
Options | |
---|---|
--help | display usage information |
--home-agents | a list of mobile IP home agent addresses available to the client, listed in order of preference. |
IEN 116 Name servers available to the client.
Usage: ffx net dhcpd get option name-server [--name-servers <name-servers...>]
Options | |
---|---|
--help | display usage information |
--name-servers | a list of IEN 116 Name servers available to the client, in order of preference. |
NetBIOS datagram distribution servers available to the client.
Usage: ffx net dhcpd get option net-bios-over-tcpip-distribution-server [--servers <servers...>]
Options | |
---|---|
--help | display usage information |
--servers | a list of NetBIOS datagram distribution servers available to the client, listed in order of preference. |
NetBIOS name servers available to the client.
Usage: ffx net dhcpd get option net-bios-over-tcpip-name-server [--servers <servers...>]
Options | |
---|---|
--help | display usage information |
--servers | a list of NetBIOS name server addresses available to the client, listed in order of preference. |
The NetBIOS node type which should be used by the client.
Usage: ffx net dhcpd get option net-bios-over-tcpip-node-type [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
b-node | A B node type. |
h-node | A H node type. |
m-node | A M node type. |
p-node | A P node type. |
####### b-node
A B node type.
Usage: ffx net dhcpd get option net-bios-over-tcpip-node-type b-node
Options | |
---|---|
--help | display usage information |
####### h-node
A H node type.
Usage: ffx net dhcpd get option net-bios-over-tcpip-node-type h-node
Options | |
---|---|
--help | display usage information |
####### m-node
A M node type.
Usage: ffx net dhcpd get option net-bios-over-tcpip-node-type m-node
Options | |
---|---|
--help | display usage information |
####### p-node
A P node type.
Usage: ffx net dhcpd get option net-bios-over-tcpip-node-type p-node
Options | |
---|---|
--help | display usage information |
NetBIOS scope parameter for the client.
Usage: ffx net dhcpd get option net-bios-over-tcpip-scope [--scope <scope>]
Options | |
---|---|
--help | display usage information |
--scope | the NetBIOS over TCP/IP scope parameter, as defined in RFC 1001, for the client. |
Network Information Service servers available to the client.
Usage: ffx net dhcpd get option network-information-servers [--servers <servers...>]
Options | |
---|---|
--help | display usage information |
--servers | a list of Network Information Service server addresses available to the client, listed in order of preference. |
Name of the client's Network Information Service domain.
Usage: ffx net dhcpd get option network-information-service-domain [--domain-name <domain-name>]
Options | |
---|---|
--help | display usage information |
--domain-name | the name of the client's Network Information Service domain. |
Network Information System+ domain name.
Usage: ffx net dhcpd get option network-information-service-plus-domain [--domain-name <domain-name>]
Options | |
---|---|
--help | display usage information |
--domain-name | the name of the client's Network Information System+ domain. |
Network Information System+ servers available to the client.
Usage: ffx net dhcpd get option network-information-service-plus-servers [--servers <servers...>]
Options | |
---|---|
--help | display usage information |
--servers | a list of Network Information System+ server addresses available to the client, listed in order of preference. |
Network Time Protocol servers available to the client.
Usage: ffx net dhcpd get option network-time-protocol-servers [--servers <servers...>]
Options | |
---|---|
--help | display usage information |
--servers | a list of Network Time Protocol (NTP) server addresses available to the client, listed in order of preference. |
NNTP servers available to the client.
Usage: ffx net dhcpd get option nntp-server [--nntp-servers <nntp-servers...>]
Options | |
---|---|
--help | display usage information |
--nntp-servers | a list Network News Transport Protocol (NNTP) server addresses available to the client, listed in order of preference. |
Flag enabling/disabling forwarding of IP packets with non-local source routes.
Usage: ffx net dhcpd get option non-local-source-routing [--enabled]
Options | |
---|---|
--help | display usage information |
--enabled | a flag which will enable forwarding of IP packets with non-local source routes. |
Timeout to use when aging Path MTU values.
Usage: ffx net dhcpd get option path-mtu-aging-timeout [--timeout <timeout>]
Options | |
---|---|
--help | display usage information |
--timeout | the timeout, in seconds, to be used when again Path MTU values by the mechanism in RFC 1191. |
Table of MTU sizes for Path MTU Discovery.
Usage: ffx net dhcpd get option path-mtu-plateau-table [--mtu-sizes <mtu-sizes...>]
Options | |
---|---|
--help | display usage information |
--mtu-sizes | A list of MTU sizes, ordered from smallest to largest. The smallest value cannot be smaller than 68. |
Flag indicating whether the client should perform subnet mask discovery via ICMP.
Usage: ffx net dhcpd get option perform-mask-discovery [--do-discovery]
Options | |
---|---|
--help | display usage information |
--do-discovery | a flag indicating whether the client should perform subnet mask discovery via ICMP. |
Flag indicating whether the client should solicit routers using Router Discovery.
Usage: ffx net dhcpd get option perform-router-discovery [--do-discovery]
Options | |
---|---|
--help | display usage information |
--do-discovery | A flag indicating whether the client should solicit routers using Router Discovery as defined in RFC 1256. |
Policy filters for non-local source routing.
Usage: ffx net dhcpd get option policy-filter [--addresses <addresses...>]
Options | |
---|---|
--help | display usage information |
--addresses | a list of IP Address and Subnet Mask pairs. If an incoming source-routed packet has a next-hop that does not match one of these pairs, then the packet will be dropped. |
POP3 servers available to the client.
Usage: ffx net dhcpd get option pop3-server [--pop3-servers <pop3-servers...>]
Options | |
---|---|
--help | display usage information |
--pop3-servers | a list of Post Office Protocol (POP3) server addresses available to the client, listed in order of preference. |
Time interval from address assignment at which the client transitions to a Rebinding state.
Usage: ffx net dhcpd get option rebinding-time-value [--interval <interval>]
Options | |
---|---|
--help | display usage information |
--interval | the time interval, in seconds, after address assignment at which the client will transition to the Rebinding state. |
Time interval from address assignment at which the client transitions to a Renewing state.
Usage: ffx net dhcpd get option renewal-time-value [--interval <interval>]
Options | |
---|---|
--help | display usage information |
--interval | the time interval, in seconds, after address assignment at which the client will transition to the Renewing state. |
RFC 887 Resource Location servers available to the client.
Usage: ffx net dhcpd get option resource-location-server [--resource-location-servers <resource-location-servers...>]
Options | |
---|---|
--help | display usage information |
--resource-location-servers | a list of RFC 887 Resource Location servers available to the client, in order of preference. |
Path name to a TFTP-retrievable file containing vendor-extension information.
Usage: ffx net dhcpd get option root-path [--path <path>]
Options | |
---|---|
--help | display usage information |
--path | the path name to a TFTP-retrievable file. This file contains data which can be interpreted as the BOOTP vendor-extension field. Unlike the BOOTP vendor-extension field, this file has an unconstrained length and any references to Tag 18 are ignored. |
The routers within a client's subnet.
Usage: ffx net dhcpd get option router [--routers <routers...>]
Options | |
---|---|
--help | display usage information |
--routers | a list of the routers in a client's subnet, listed in order of preference. |
Destination address for Router Solicitation requests.
Usage: ffx net dhcpd get option router-solicitation-address [--addr <addr>]
Options | |
---|---|
--help | display usage information |
--addr | the address to which the client should transmit Router Solicitation requests. |
SMTP servers available to the client.
Usage: ffx net dhcpd get option smtp-server [--smtp-servers <smtp-servers...>]
Options | |
---|---|
--help | display usage information |
--smtp-servers | a list of Simple Mail Transport Protocol (SMTP) server address available to the client, listed in order of preference. |
Static Routes which the client should put in its routing cache.
Usage: ffx net dhcpd get option static-route [--routes <routes...>]
Options | |
---|---|
--help | display usage information |
--routes | a list of Destination address/Next-hop address pairs defining static routes for the client's routing table. The routes should be listed in descending order of priority. It is illegal to use 0.0.0.0 as the destination in a static route. |
StreetTalk Directory Assistance servers available to the client.
Usage: ffx net dhcpd get option stda-server [--stda-servers <stda-servers...>]
Options | |
---|---|
--help | display usage information |
--stda-servers | a list of StreetTalk Directory Assistance server addresses available to the client, listed in order of preference. |
StreetTalk servers available to the client.
Usage: ffx net dhcpd get option street-talk-server [--streettalk-servers <streettalk-servers...>]
Options | |
---|---|
--help | display usage information |
--streettalk-servers | a list of StreetTalk server addresses available to the client, listed in order of preference. |
The client's subnet mask.
Usage: ffx net dhcpd get option subnet-mask [--mask <mask>]
Options | |
---|---|
--help | display usage information |
--mask | a 32-bit IPv4 subnet mask. |
Address of the client's swap server.
Usage: ffx net dhcpd get option swap-server [--address <address>]
Options | |
---|---|
--help | display usage information |
--address | the address of the client's swap server. |
Default time-to-live for outgoing TCP segments.
Usage: ffx net dhcpd get option tcp-default-ttl [--ttl <ttl>]
Options | |
---|---|
--help | display usage information |
--ttl | the default time-to-live that the client should use for outgoing TCP segments. The minimum value is 1. |
Flag specifying whether the client should send TCP keepalive messages with an octet of garbage.
Usage: ffx net dhcpd get option tcp-keepalive-garbage [--send-garbage]
Options | |
---|---|
--help | display usage information |
--send-garbage | a flag specifying whether the client should send TCP keepalive messages with an octet of garbage for compatibility with older implementations. |
Interval the client should wait before sending a TCP keepalive message.
Usage: ffx net dhcpd get option tcp-keepalive-interval [--interval <interval>]
Options | |
---|---|
--help | display usage information |
--interval | the interval, in seconds, the client should wait before sending a TCP keepalive message. A value of 0 indicates that the client should not send keepalive messages unless specifically requested by an application. |
TFTP server available to the client.
Usage: ffx net dhcpd get option tftp-server-name [--name <name>]
Options | |
---|---|
--help | display usage information |
--name | the TFTP server name available to the client. This option should be used when the sname field has been overloaded to carry options. |
The client's offset from UTC.
Usage: ffx net dhcpd get option time-offset [--offset <offset>]
Options | |
---|---|
--help | display usage information |
--offset | the client's offset from UTC in seconds. A positive offset is east of the zero meridian, and a negative offset is west of the zero meridian. |
Time Protocol servers available to the client.
Usage: ffx net dhcpd get option time-server [--time-servers <time-servers...>]
Options | |
---|---|
--help | display usage information |
--time-servers | a list of time servers available to the client, in order of preference. |
Flag specifying whether the client should negotiate the use of trailers in ARP.
Usage: ffx net dhcpd get option trailer-encapsulation [--trailers]
Options | |
---|---|
--help | display usage information |
--trailers | a flag specifying whether the client negotiate the use of trailers when using ARP, per RFC 893. |
Option for exchanging vendor-specific information between the DHCP client and DHCP server.
Usage: ffx net dhcpd get option vendor-specific-information [--data <data...>]
Options | |
---|---|
--help | display usage information |
--data | an opaque object of octets for exchanging vendor-specific information. |
X window System Display Manager systems available to the client.
Usage: ffx net dhcpd get option x-window-system-display-manager [--display-servers <display-servers...>]
Options | |
---|---|
--help | display usage information |
--display-servers | a list of X Window System Display Manager system addresses available to the client, listed in order of preference. |
X Window System Font servers available to the client.
Usage: ffx net dhcpd get option x-window-system-font-server [--servers <servers...>]
Options | |
---|---|
--help | display usage information |
--servers | a list of X Window System Font server addresses available to the client, listed in order of preference. |
A secondary command indicating a server parameter argument.
Usage: ffx net dhcpd get parameter [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
address-pool | The pool of addresses which the DHCP server manages. |
arp-probe | Enables server behavior where the server ARPs an IP address prior to issuing it in a lease. |
bound-device-names | The names of the network devices on which the server will listen. |
ip-addrs | The IPv4 addresses to which the server is bound. |
lease-length | The duration of leases offered by the server. |
permitted-macs | The client MAC addresses which the server will issue leases to. |
statically-assigned-addrs | Addresses in the AddressPool which will only be leased to specified clients. Assigned addresses will be paired with hosts in order, e.g. hosts (A, B, C) and addresses (1, 2, 3) pair as ((A, 1), (B, 2), (C, 3)). |
The pool of addresses which the DHCP server manages.
Usage: ffx net dhcpd get parameter address-pool [--prefix-length <prefix-length>] [--range-start <range-start>] [--range-stop <range-stop>]
Options | |
---|---|
--help | display usage information |
--prefix-length | the prefix length of the network's subnet mask |
--range-start | the starting address, inclusive, of the range of addresses which the DHCP server will lease to clients |
--range-stop | the ending address, inclusive, of the range of addresses which the server will to clients |
Enables server behavior where the server ARPs an IP address prior to issuing it in a lease.
Usage: ffx net dhcpd get parameter arp-probe [--enabled]
Options | |
---|---|
--help | display usage information |
--enabled | enables server behavior where the server ARPs an IP address prior to issuing it in a lease. If the server receives a response, the server will mark the address as in-use and try again with a different address. By default, this behavior is disabled. |
The names of the network devices on which the server will listen.
Usage: ffx net dhcpd get parameter bound-device-names [names...]
Options | |
---|---|
--help | display usage information |
The IPv4 addresses to which the server is bound.
Usage: ffx net dhcpd get parameter ip-addrs [--addrs <addrs...>]
Options | |
---|---|
--help | display usage information |
--addrs | A list of IPv4 Addresses to which the server is bound. |
The duration of leases offered by the server.
Usage: ffx net dhcpd get parameter lease-length [--default <default>] [--max <max>]
Options | |
---|---|
--help | display usage information |
--default | the default lease length, in seconds, to be issued to clients. |
--max | the maximum lease length value, in seconds, which the server will issue to clients who have requested a specific lease length. With the default value of 0, the max lease length is equivalent to the default lease length. |
The client MAC addresses which the server will issue leases to.
Usage: ffx net dhcpd get parameter permitted-macs [--macs <macs...>]
Options | |
---|---|
--help | display usage information |
--macs | the client MAC addresses which the server will issue leases to. By default, the server will not have a permitted MAC list, in which case it will attempt to issue a lease to every client which requests one. If permitted_macs has a non-zero length then the server will only respond to lease requests from clients with a MAC in the list. |
Addresses in the AddressPool which will only be leased to specified clients. Assigned addresses will be paired with hosts in order, e.g. hosts (A, B, C) and addresses (1, 2, 3) pair as ((A, 1), (B, 2), (C, 3)).
Usage: ffx net dhcpd get parameter statically-assigned-addrs [--hosts <hosts...>] [--assigned-addrs <assigned-addrs...>]
Options | |
---|---|
--help | display usage information |
--hosts | hosts which will be leased the addresses reserved by assigned_addrs . |
--assigned-addrs | addresses in the AddressPool which will not be leased to clients. Typically, a network administrator will statically assign these addresses to always-on network devices which should always have the same IP address, such as network printers. |
A primary command to list the values of all DHCP options or server parameters.
Usage: ffx net dhcpd list [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
option | Perform the command on DHCP options. |
parameter | Perform the command on server parameters. |
Perform the command on DHCP options.
Usage: ffx net dhcpd list option
Options | |
---|---|
--help | display usage information |
Perform the command on server parameters.
Usage: ffx net dhcpd list parameter
Options | |
---|---|
--help | display usage information |
A primary command to reset the values of all DHCP options or server parameters.
Usage: ffx net dhcpd reset [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
option | Perform the command on DHCP options. |
parameter | Perform the command on server parameters. |
Perform the command on DHCP options.
Usage: ffx net dhcpd reset option
Options | |
---|---|
--help | display usage information |
Perform the command on server parameters.
Usage: ffx net dhcpd reset parameter
Options | |
---|---|
--help | display usage information |
A primary command to set the value of a DHCP option or server parameter.
Usage: ffx net dhcpd set [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
option | A secondary command indicating a DHCP option argument. |
parameter | A secondary command indicating a server parameter argument. |
A secondary command indicating a DHCP option argument.
Usage: ffx net dhcpd set option [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
all-subnets-local | Flag indicating if all subnets of the connected network have the same MTU. |
arp-cache-timeout | Timeout for ARP cache entries. |
boot-file-size | Size of the default boot image for the client. |
bootfile-name | Bootfile name for the client. |
broadcast-address | Broadcast address of the client's subnet. |
cookie-server | RFC 865 Cookie servers available to the client. |
default-finger-server | Default Finger servers available to the client. |
default-ip-ttl | Default time-to-live to use on outgoing IP datagrams. |
default-irc-server | Default IRC servers available to the client. |
default-www-server | Default WWW servers available to the client. |
domain-name | Domain name of the client. |
domain-name-server | Domain Name System servers available to the client. |
ethernet-encapsulation | Flag specifying whether the client should use Ethernet v2 or IEEE 802.3 encapsulation. |
extensions-path | Path name to a TFTP-retrievable file containing vendor-extension information. |
host-name | Name of the client. |
impress-server | Imagen Impress servers available to the client. |
interface-mtu | MTU for the client's interface. |
ip-forwarding | Flag enabling/disabling IP layer packet forwarding. |
log-server | MIT-LCS UDP Log servers available to the client. |
lpr-server | RFC 1179 Line Printer servers available to the client. |
mask-supplier | Flag indicating whether the client should respond to subnet mask discovery requests via ICMP. |
max-datagram-reassembly-size | Maximum sized datagram that the client should be able to reassemble. |
max-message-size | Maximum length of a DHCP message that the participant is willing to accept. |
merit-dump-file | Path name of a core dump file. |
mobile-ip-home-agent | Mobile IP home agents available to the client. |
name-server | IEN 116 Name servers available to the client. |
net-bios-over-tcpip-distribution-server | NetBIOS datagram distribution servers available to the client. |
net-bios-over-tcpip-name-server | NetBIOS name servers available to the client. |
net-bios-over-tcpip-node-type | The NetBIOS node type which should be used by the client. |
net-bios-over-tcpip-scope | NetBIOS scope parameter for the client. |
network-information-servers | Network Information Service servers available to the client. |
network-information-service-domain | Name of the client's Network Information Service domain. |
network-information-service-plus-domain | Network Information System+ domain name. |
network-information-service-plus-servers | Network Information System+ servers available to the client. |
network-time-protocol-servers | Network Time Protocol servers available to the client. |
nntp-server | NNTP servers available to the client. |
non-local-source-routing | Flag enabling/disabling forwarding of IP packets with non-local source routes. |
path-mtu-aging-timeout | Timeout to use when aging Path MTU values. |
path-mtu-plateau-table | Table of MTU sizes for Path MTU Discovery. |
perform-mask-discovery | Flag indicating whether the client should perform subnet mask discovery via ICMP. |
perform-router-discovery | Flag indicating whether the client should solicit routers using Router Discovery. |
policy-filter | Policy filters for non-local source routing. |
pop3-server | POP3 servers available to the client. |
rebinding-time-value | Time interval from address assignment at which the client transitions to a Rebinding state. |
renewal-time-value | Time interval from address assignment at which the client transitions to a Renewing state. |
resource-location-server | RFC 887 Resource Location servers available to the client. |
root-path | Path name to a TFTP-retrievable file containing vendor-extension information. |
router | The routers within a client's subnet. |
router-solicitation-address | Destination address for Router Solicitation requests. |
smtp-server | SMTP servers available to the client. |
static-route | Static Routes which the client should put in its routing cache. |
stda-server | StreetTalk Directory Assistance servers available to the client. |
street-talk-server | StreetTalk servers available to the client. |
subnet-mask | The client's subnet mask. |
swap-server | Address of the client's swap server. |
tcp-default-ttl | Default time-to-live for outgoing TCP segments. |
tcp-keepalive-garbage | Flag specifying whether the client should send TCP keepalive messages with an octet of garbage. |
tcp-keepalive-interval | Interval the client should wait before sending a TCP keepalive message. |
tftp-server-name | TFTP server available to the client. |
time-offset | The client's offset from UTC. |
time-server | Time Protocol servers available to the client. |
trailer-encapsulation | Flag specifying whether the client should negotiate the use of trailers in ARP. |
vendor-specific-information | Option for exchanging vendor-specific information between the DHCP client and DHCP server. |
x-window-system-display-manager | X window System Display Manager systems available to the client. |
x-window-system-font-server | X Window System Font servers available to the client. |
Flag indicating if all subnets of the connected network have the same MTU.
Usage: ffx net dhcpd set option all-subnets-local [--local]
Options | |
---|---|
--help | display usage information |
--local | a flag indicating if all subents of the IP network to which the client is connected have the same MTU. |
Timeout for ARP cache entries.
Usage: ffx net dhcpd set option arp-cache-timeout [--timeout <timeout>]
Options | |
---|---|
--help | display usage information |
--timeout | the timeout for ARP cache entries, in seconds. |
Size of the default boot image for the client.
Usage: ffx net dhcpd set option boot-file-size [--size <size>]
Options | |
---|---|
--help | display usage information |
--size | the size of the client's default boot image in 512-octet blocks. |
Bootfile name for the client.
Usage: ffx net dhcpd set option bootfile-name [--name <name>]
Options | |
---|---|
--help | display usage information |
--name | the bootfile name for the client. This option should be used when the file field has been overloaded to carry options. |
Broadcast address of the client's subnet.
Usage: ffx net dhcpd set option broadcast-address [--addr <addr>]
Options | |
---|---|
--help | display usage information |
--addr | the broadcast address of the client's subnet. Legal values are defined in RFC 1122. |
RFC 865 Cookie servers available to the client.
Usage: ffx net dhcpd set option cookie-server [--cookie-servers <cookie-servers...>]
Options | |
---|---|
--help | display usage information |
--cookie-servers | a list of RFC 865 Cookie servers available to the client, in order of preference. |
Default Finger servers available to the client.
Usage: ffx net dhcpd set option default-finger-server [--finger-servers <finger-servers...>]
Options | |
---|---|
--help | display usage information |
--finger-servers | a list of default Finger server addresses available to the client, listed in order of preference. |
Default time-to-live to use on outgoing IP datagrams.
Usage: ffx net dhcpd set option default-ip-ttl [--ttl <ttl>]
Options | |
---|---|
--help | display usage information |
--ttl | the default time-to-live to use on outgoing IP datagrams. The value must be between 1 and 255. |
Default IRC servers available to the client.
Usage: ffx net dhcpd set option default-irc-server [--irc-servers <irc-servers...>]
Options | |
---|---|
--help | display usage information |
--irc-servers | a list of Internet Relay Chat server addresses available to the client, listed in order of preference. |
Default WWW servers available to the client.
Usage: ffx net dhcpd set option default-www-server [--www-servers <www-servers...>]
Options | |
---|---|
--help | display usage information |
--www-servers | a list of default World Wide Web (WWW) server addresses available to the client, listed in order of preference. |
Domain name of the client.
Usage: ffx net dhcpd set option domain-name [--name <name>]
Options | |
---|---|
--help | display usage information |
--name | the client's domain name for use in resolving hostnames in the DNS. |
Domain Name System servers available to the client.
Usage: ffx net dhcpd set option domain-name-server [--domain-name-servers <domain-name-servers...>]
Options | |
---|---|
--help | display usage information |
--domain-name-servers | a list of DNS servers available to the client, in order of preference; |
Flag specifying whether the client should use Ethernet v2 or IEEE 802.3 encapsulation.
Usage: ffx net dhcpd set option ethernet-encapsulation [--encapsulate]
Options | |
---|---|
--help | display usage information |
--encapsulate | a flag specifying that the client should use Ethernet v2 encapsulation when false, and IEEE 802.3 encapsulation when true. |
Path name to a TFTP-retrievable file containing vendor-extension information.
Usage: ffx net dhcpd set option extensions-path [--path <path>]
Options | |
---|---|
--help | display usage information |
--path | the path name to a TFTP-retrievable file. This file contains data which can be interpreted as the BOOTP vendor-extension field. Unlike the BOOTP vendor-extension field, this file has an unconstrained length and any references to Tag 18 are ignored. |
Name of the client.
Usage: ffx net dhcpd set option host-name [--name <name>]
Options | |
---|---|
--help | display usage information |
--name | the name of client, which may or may not be qualified with the local domain name. |
Imagen Impress servers available to the client.
Usage: ffx net dhcpd set option impress-server [--impress-servers <impress-servers...>]
Options | |
---|---|
--help | display usage information |
--impress-servers | a list of Imagen Impress servers available to the client, in order of preference. |
MTU for the client's interface.
Usage: ffx net dhcpd set option interface-mtu [--mtu <mtu>]
Options | |
---|---|
--help | display usage information |
--mtu | the MTU for the client's interface. Minimum value of 68. |
Flag enabling/disabling IP layer packet forwarding.
Usage: ffx net dhcpd set option ip-forwarding [--enabled]
Options | |
---|---|
--help | display usage information |
--enabled | a flag which will enabled IP layer packet forwarding when true. |
MIT-LCS UDP Log servers available to the client.
Usage: ffx net dhcpd set option log-server [--log-servers <log-servers...>]
Options | |
---|---|
--help | display usage information |
--log-servers | a list of MIT-LCS UDP Log servers available to the client, in order of preference. |
RFC 1179 Line Printer servers available to the client.
Usage: ffx net dhcpd set option lpr-server [--lpr-servers <lpr-servers...>]
Options | |
---|---|
--help | display usage information |
--lpr-servers | a list of RFC 1179 Line Printer servers available to the client, in order of preference. |
Flag indicating whether the client should respond to subnet mask discovery requests via ICMP.
Usage: ffx net dhcpd set option mask-supplier [--supplier]
Options | |
---|---|
--help | display usage information |
--supplier | a flag indicating whether the client should respond to subnet mask discovery requests via ICMP. |
Maximum sized datagram that the client should be able to reassemble.
Usage: ffx net dhcpd set option max-datagram-reassembly-size [--size <size>]
Options | |
---|---|
--help | display usage information |
--size | the maximum sized datagram that the client should be able to reassemble, in octets. The minimum legal value is 576. |
Maximum length of a DHCP message that the participant is willing to accept.
Usage: ffx net dhcpd set option max-message-size [--length <length>]
Options | |
---|---|
--help | display usage information |
--length | the maximum length in octets of a DHCP message that the participant is willing to accept. The minimum value is 576. |
Path name of a core dump file.
Usage: ffx net dhcpd set option merit-dump-file [--path <path>]
Options | |
---|---|
--help | display usage information |
--path | the path name to the client's core dump in the event the client crashes. |
Mobile IP home agents available to the client.
Usage: ffx net dhcpd set option mobile-ip-home-agent [--home-agents <home-agents...>]
Options | |
---|---|
--help | display usage information |
--home-agents | a list of mobile IP home agent addresses available to the client, listed in order of preference. |
IEN 116 Name servers available to the client.
Usage: ffx net dhcpd set option name-server [--name-servers <name-servers...>]
Options | |
---|---|
--help | display usage information |
--name-servers | a list of IEN 116 Name servers available to the client, in order of preference. |
NetBIOS datagram distribution servers available to the client.
Usage: ffx net dhcpd set option net-bios-over-tcpip-distribution-server [--servers <servers...>]
Options | |
---|---|
--help | display usage information |
--servers | a list of NetBIOS datagram distribution servers available to the client, listed in order of preference. |
NetBIOS name servers available to the client.
Usage: ffx net dhcpd set option net-bios-over-tcpip-name-server [--servers <servers...>]
Options | |
---|---|
--help | display usage information |
--servers | a list of NetBIOS name server addresses available to the client, listed in order of preference. |
The NetBIOS node type which should be used by the client.
Usage: ffx net dhcpd set option net-bios-over-tcpip-node-type [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
b-node | A B node type. |
h-node | A H node type. |
m-node | A M node type. |
p-node | A P node type. |
####### b-node
A B node type.
Usage: ffx net dhcpd set option net-bios-over-tcpip-node-type b-node
Options | |
---|---|
--help | display usage information |
####### h-node
A H node type.
Usage: ffx net dhcpd set option net-bios-over-tcpip-node-type h-node
Options | |
---|---|
--help | display usage information |
####### m-node
A M node type.
Usage: ffx net dhcpd set option net-bios-over-tcpip-node-type m-node
Options | |
---|---|
--help | display usage information |
####### p-node
A P node type.
Usage: ffx net dhcpd set option net-bios-over-tcpip-node-type p-node
Options | |
---|---|
--help | display usage information |
NetBIOS scope parameter for the client.
Usage: ffx net dhcpd set option net-bios-over-tcpip-scope [--scope <scope>]
Options | |
---|---|
--help | display usage information |
--scope | the NetBIOS over TCP/IP scope parameter, as defined in RFC 1001, for the client. |
Network Information Service servers available to the client.
Usage: ffx net dhcpd set option network-information-servers [--servers <servers...>]
Options | |
---|---|
--help | display usage information |
--servers | a list of Network Information Service server addresses available to the client, listed in order of preference. |
Name of the client's Network Information Service domain.
Usage: ffx net dhcpd set option network-information-service-domain [--domain-name <domain-name>]
Options | |
---|---|
--help | display usage information |
--domain-name | the name of the client's Network Information Service domain. |
Network Information System+ domain name.
Usage: ffx net dhcpd set option network-information-service-plus-domain [--domain-name <domain-name>]
Options | |
---|---|
--help | display usage information |
--domain-name | the name of the client's Network Information System+ domain. |
Network Information System+ servers available to the client.
Usage: ffx net dhcpd set option network-information-service-plus-servers [--servers <servers...>]
Options | |
---|---|
--help | display usage information |
--servers | a list of Network Information System+ server addresses available to the client, listed in order of preference. |
Network Time Protocol servers available to the client.
Usage: ffx net dhcpd set option network-time-protocol-servers [--servers <servers...>]
Options | |
---|---|
--help | display usage information |
--servers | a list of Network Time Protocol (NTP) server addresses available to the client, listed in order of preference. |
NNTP servers available to the client.
Usage: ffx net dhcpd set option nntp-server [--nntp-servers <nntp-servers...>]
Options | |
---|---|
--help | display usage information |
--nntp-servers | a list Network News Transport Protocol (NNTP) server addresses available to the client, listed in order of preference. |
Flag enabling/disabling forwarding of IP packets with non-local source routes.
Usage: ffx net dhcpd set option non-local-source-routing [--enabled]
Options | |
---|---|
--help | display usage information |
--enabled | a flag which will enable forwarding of IP packets with non-local source routes. |
Timeout to use when aging Path MTU values.
Usage: ffx net dhcpd set option path-mtu-aging-timeout [--timeout <timeout>]
Options | |
---|---|
--help | display usage information |
--timeout | the timeout, in seconds, to be used when again Path MTU values by the mechanism in RFC 1191. |
Table of MTU sizes for Path MTU Discovery.
Usage: ffx net dhcpd set option path-mtu-plateau-table [--mtu-sizes <mtu-sizes...>]
Options | |
---|---|
--help | display usage information |
--mtu-sizes | A list of MTU sizes, ordered from smallest to largest. The smallest value cannot be smaller than 68. |
Flag indicating whether the client should perform subnet mask discovery via ICMP.
Usage: ffx net dhcpd set option perform-mask-discovery [--do-discovery]
Options | |
---|---|
--help | display usage information |
--do-discovery | a flag indicating whether the client should perform subnet mask discovery via ICMP. |
Flag indicating whether the client should solicit routers using Router Discovery.
Usage: ffx net dhcpd set option perform-router-discovery [--do-discovery]
Options | |
---|---|
--help | display usage information |
--do-discovery | A flag indicating whether the client should solicit routers using Router Discovery as defined in RFC 1256. |
Policy filters for non-local source routing.
Usage: ffx net dhcpd set option policy-filter [--addresses <addresses...>]
Options | |
---|---|
--help | display usage information |
--addresses | a list of IP Address and Subnet Mask pairs. If an incoming source-routed packet has a next-hop that does not match one of these pairs, then the packet will be dropped. |
POP3 servers available to the client.
Usage: ffx net dhcpd set option pop3-server [--pop3-servers <pop3-servers...>]
Options | |
---|---|
--help | display usage information |
--pop3-servers | a list of Post Office Protocol (POP3) server addresses available to the client, listed in order of preference. |
Time interval from address assignment at which the client transitions to a Rebinding state.
Usage: ffx net dhcpd set option rebinding-time-value [--interval <interval>]
Options | |
---|---|
--help | display usage information |
--interval | the time interval, in seconds, after address assignment at which the client will transition to the Rebinding state. |
Time interval from address assignment at which the client transitions to a Renewing state.
Usage: ffx net dhcpd set option renewal-time-value [--interval <interval>]
Options | |
---|---|
--help | display usage information |
--interval | the time interval, in seconds, after address assignment at which the client will transition to the Renewing state. |
RFC 887 Resource Location servers available to the client.
Usage: ffx net dhcpd set option resource-location-server [--resource-location-servers <resource-location-servers...>]
Options | |
---|---|
--help | display usage information |
--resource-location-servers | a list of RFC 887 Resource Location servers available to the client, in order of preference. |
Path name to a TFTP-retrievable file containing vendor-extension information.
Usage: ffx net dhcpd set option root-path [--path <path>]
Options | |
---|---|
--help | display usage information |
--path | the path name to a TFTP-retrievable file. This file contains data which can be interpreted as the BOOTP vendor-extension field. Unlike the BOOTP vendor-extension field, this file has an unconstrained length and any references to Tag 18 are ignored. |
The routers within a client's subnet.
Usage: ffx net dhcpd set option router [--routers <routers...>]
Options | |
---|---|
--help | display usage information |
--routers | a list of the routers in a client's subnet, listed in order of preference. |
Destination address for Router Solicitation requests.
Usage: ffx net dhcpd set option router-solicitation-address [--addr <addr>]
Options | |
---|---|
--help | display usage information |
--addr | the address to which the client should transmit Router Solicitation requests. |
SMTP servers available to the client.
Usage: ffx net dhcpd set option smtp-server [--smtp-servers <smtp-servers...>]
Options | |
---|---|
--help | display usage information |
--smtp-servers | a list of Simple Mail Transport Protocol (SMTP) server address available to the client, listed in order of preference. |
Static Routes which the client should put in its routing cache.
Usage: ffx net dhcpd set option static-route [--routes <routes...>]
Options | |
---|---|
--help | display usage information |
--routes | a list of Destination address/Next-hop address pairs defining static routes for the client's routing table. The routes should be listed in descending order of priority. It is illegal to use 0.0.0.0 as the destination in a static route. |
StreetTalk Directory Assistance servers available to the client.
Usage: ffx net dhcpd set option stda-server [--stda-servers <stda-servers...>]
Options | |
---|---|
--help | display usage information |
--stda-servers | a list of StreetTalk Directory Assistance server addresses available to the client, listed in order of preference. |
StreetTalk servers available to the client.
Usage: ffx net dhcpd set option street-talk-server [--streettalk-servers <streettalk-servers...>]
Options | |
---|---|
--help | display usage information |
--streettalk-servers | a list of StreetTalk server addresses available to the client, listed in order of preference. |
The client's subnet mask.
Usage: ffx net dhcpd set option subnet-mask [--mask <mask>]
Options | |
---|---|
--help | display usage information |
--mask | a 32-bit IPv4 subnet mask. |
Address of the client's swap server.
Usage: ffx net dhcpd set option swap-server [--address <address>]
Options | |
---|---|
--help | display usage information |
--address | the address of the client's swap server. |
Default time-to-live for outgoing TCP segments.
Usage: ffx net dhcpd set option tcp-default-ttl [--ttl <ttl>]
Options | |
---|---|
--help | display usage information |
--ttl | the default time-to-live that the client should use for outgoing TCP segments. The minimum value is 1. |
Flag specifying whether the client should send TCP keepalive messages with an octet of garbage.
Usage: ffx net dhcpd set option tcp-keepalive-garbage [--send-garbage]
Options | |
---|---|
--help | display usage information |
--send-garbage | a flag specifying whether the client should send TCP keepalive messages with an octet of garbage for compatibility with older implementations. |
Interval the client should wait before sending a TCP keepalive message.
Usage: ffx net dhcpd set option tcp-keepalive-interval [--interval <interval>]
Options | |
---|---|
--help | display usage information |
--interval | the interval, in seconds, the client should wait before sending a TCP keepalive message. A value of 0 indicates that the client should not send keepalive messages unless specifically requested by an application. |
TFTP server available to the client.
Usage: ffx net dhcpd set option tftp-server-name [--name <name>]
Options | |
---|---|
--help | display usage information |
--name | the TFTP server name available to the client. This option should be used when the sname field has been overloaded to carry options. |
The client's offset from UTC.
Usage: ffx net dhcpd set option time-offset [--offset <offset>]
Options | |
---|---|
--help | display usage information |
--offset | the client's offset from UTC in seconds. A positive offset is east of the zero meridian, and a negative offset is west of the zero meridian. |
Time Protocol servers available to the client.
Usage: ffx net dhcpd set option time-server [--time-servers <time-servers...>]
Options | |
---|---|
--help | display usage information |
--time-servers | a list of time servers available to the client, in order of preference. |
Flag specifying whether the client should negotiate the use of trailers in ARP.
Usage: ffx net dhcpd set option trailer-encapsulation [--trailers]
Options | |
---|---|
--help | display usage information |
--trailers | a flag specifying whether the client negotiate the use of trailers when using ARP, per RFC 893. |
Option for exchanging vendor-specific information between the DHCP client and DHCP server.
Usage: ffx net dhcpd set option vendor-specific-information [--data <data...>]
Options | |
---|---|
--help | display usage information |
--data | an opaque object of octets for exchanging vendor-specific information. |
X window System Display Manager systems available to the client.
Usage: ffx net dhcpd set option x-window-system-display-manager [--display-servers <display-servers...>]
Options | |
---|---|
--help | display usage information |
--display-servers | a list of X Window System Display Manager system addresses available to the client, listed in order of preference. |
X Window System Font servers available to the client.
Usage: ffx net dhcpd set option x-window-system-font-server [--servers <servers...>]
Options | |
---|---|
--help | display usage information |
--servers | a list of X Window System Font server addresses available to the client, listed in order of preference. |
A secondary command indicating a server parameter argument.
Usage: ffx net dhcpd set parameter [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
address-pool | The pool of addresses which the DHCP server manages. |
arp-probe | Enables server behavior where the server ARPs an IP address prior to issuing it in a lease. |
bound-device-names | The names of the network devices on which the server will listen. |
ip-addrs | The IPv4 addresses to which the server is bound. |
lease-length | The duration of leases offered by the server. |
permitted-macs | The client MAC addresses which the server will issue leases to. |
statically-assigned-addrs | Addresses in the AddressPool which will only be leased to specified clients. Assigned addresses will be paired with hosts in order, e.g. hosts (A, B, C) and addresses (1, 2, 3) pair as ((A, 1), (B, 2), (C, 3)). |
The pool of addresses which the DHCP server manages.
Usage: ffx net dhcpd set parameter address-pool [--prefix-length <prefix-length>] [--range-start <range-start>] [--range-stop <range-stop>]
Options | |
---|---|
--help | display usage information |
--prefix-length | the prefix length of the network's subnet mask |
--range-start | the starting address, inclusive, of the range of addresses which the DHCP server will lease to clients |
--range-stop | the ending address, inclusive, of the range of addresses which the server will to clients |
Enables server behavior where the server ARPs an IP address prior to issuing it in a lease.
Usage: ffx net dhcpd set parameter arp-probe [--enabled]
Options | |
---|---|
--help | display usage information |
--enabled | enables server behavior where the server ARPs an IP address prior to issuing it in a lease. If the server receives a response, the server will mark the address as in-use and try again with a different address. By default, this behavior is disabled. |
The names of the network devices on which the server will listen.
Usage: ffx net dhcpd set parameter bound-device-names [names...]
Options | |
---|---|
--help | display usage information |
The IPv4 addresses to which the server is bound.
Usage: ffx net dhcpd set parameter ip-addrs [--addrs <addrs...>]
Options | |
---|---|
--help | display usage information |
--addrs | A list of IPv4 Addresses to which the server is bound. |
The duration of leases offered by the server.
Usage: ffx net dhcpd set parameter lease-length [--default <default>] [--max <max>]
Options | |
---|---|
--help | display usage information |
--default | the default lease length, in seconds, to be issued to clients. |
--max | the maximum lease length value, in seconds, which the server will issue to clients who have requested a specific lease length. With the default value of 0, the max lease length is equivalent to the default lease length. |
The client MAC addresses which the server will issue leases to.
Usage: ffx net dhcpd set parameter permitted-macs [--macs <macs...>]
Options | |
---|---|
--help | display usage information |
--macs | the client MAC addresses which the server will issue leases to. By default, the server will not have a permitted MAC list, in which case it will attempt to issue a lease to every client which requests one. If permitted_macs has a non-zero length then the server will only respond to lease requests from clients with a MAC in the list. |
Addresses in the AddressPool which will only be leased to specified clients. Assigned addresses will be paired with hosts in order, e.g. hosts (A, B, C) and addresses (1, 2, 3) pair as ((A, 1), (B, 2), (C, 3)).
Usage: ffx net dhcpd set parameter statically-assigned-addrs [--hosts <hosts...>] [--assigned-addrs <assigned-addrs...>]
Options | |
---|---|
--help | display usage information |
--hosts | hosts which will be leased the addresses reserved by assigned_addrs . |
--assigned-addrs | addresses in the AddressPool which will not be leased to clients. Typically, a network administrator will statically assign these addresses to always-on network devices which should always have the same IP address, such as network printers. |
A primary command to start the DHCP server.
Usage: ffx net dhcpd start
Options | |
---|---|
--help | display usage information |
A primary command to stop the DHCP server.
Usage: ffx net dhcpd stop
Options | |
---|---|
--help | display usage information |
commands to control the dns resolver
Usage: ffx net dns [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
lookup | performs dns resolution on the specified hostname |
performs dns resolution on the specified hostname
Usage: ffx net dns lookup [--ipv4 <ipv4>] [--ipv6 <ipv6>] [--sort <sort>] hostname
Options | |
---|---|
--help | display usage information |
--ipv4 | include ipv4 results (defaults to true) |
--ipv6 | include ipv6 results (defaults to true) |
--sort | sort addresses in order of preference (defaults to true) |
commands for configuring packet filtering
Usage: ffx net filter [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
list | A command to list filtering configuration. |
A command to list filtering configuration.
Usage: ffx net filter list
Options | |
---|---|
--help | display usage information |
commands for configuring packet filtering with the deprecated API
Usage: ffx net filter-deprecated [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
get-nat-rules | gets nat rules |
get-rdr-rules | gets rdr rules |
get-rules | gets filter rules |
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) |
gets nat rules
Usage: ffx net filter-deprecated get-nat-rules
Options | |
---|---|
--help | display usage information |
gets rdr rules
Usage: ffx net filter-deprecated get-rdr-rules
Options | |
---|---|
--help | display usage information |
gets filter rules
Usage: ffx net filter-deprecated get-rules
Options | |
---|---|
--help | display usage information |
sets nat rules (see the netfilter::parser library for the NAT rules format)
Usage: ffx net filter-deprecated set-nat-rules rules
Options | |
---|---|
--help | display usage information |
sets rdr rules (see the netfilter::parser library for the RDR rules format)
Usage: ffx net filter-deprecated set-rdr-rules rules
Options | |
---|---|
--help | display usage information |
sets filter rules (see the netfilter::parser library for the rules format)
Usage: ffx net filter-deprecated set-rules rules
Options | |
---|---|
--help | display usage information |
commands for network interfaces
Usage: ffx net if [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
addr | commands for updating network interface addresses |
bridge | creates a bridge between network interfaces |
disable | disables a network interface |
enable | enables a network interface |
get | queries a network interface |
igmp | get or set IGMP configuration |
ip-forward | get or set IP forwarding for an interface |
list | lists network interfaces (supports ffx machine output) |
mld | get or set MLD configuration |
commands for updating network interface addresses
Usage: ffx net if addr [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
add | adds an address to the network interface |
del | deletes an address from the network interface |
wait | waits for an address to be assigned on the network interface. by default waits for any address; if --ipv6 is specified, waits for an IPv6 address. |
adds an address to the network interface
Usage: ffx net if addr add [--no-subnet-route] nicid or name:ifname addr prefix
Options | |
---|---|
--help | display usage information |
--no-subnet-route | skip adding a local subnet route for this interface and address |
deletes an address from the network interface
Usage: ffx net if addr del nicid or name:ifname addr [prefix]
Options | |
---|---|
--help | display usage information |
waits for an address to be assigned on the network interface. by default waits for any address; if --ipv6 is specified, waits for an IPv6 address.
Usage: ffx net if addr wait [--ipv6] nicid or name:ifname
Options | |
---|---|
--help | display usage information |
--ipv6 | wait for an IPv6 address |
creates a bridge between network interfaces
Usage: ffx net if bridge [nicid or name:ifname...]
Options | |
---|---|
--help | display usage information |
disables a network interface
Usage: ffx net if disable nicid or name:ifname
Options | |
---|---|
--help | display usage information |
enables a network interface
Usage: ffx net if enable nicid or name:ifname
Options | |
---|---|
--help | display usage information |
queries a network interface
Usage: ffx net if get nicid or name:ifname
Options | |
---|---|
--help | display usage information |
get or set IGMP configuration
Usage: ffx net if igmp [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
get | get IGMP configuration for an interface |
set | set IGMP configuration for an interface |
get IGMP configuration for an interface
Usage: ffx net if igmp get nicid or name:ifname
Options | |
---|---|
--help | display usage information |
set IGMP configuration for an interface
Usage: ffx net if igmp set [--version <version>] nicid or name:ifname
Options | |
---|---|
--help | display usage information |
--version | the version of IGMP to perform. |
get or set IP forwarding for an interface
Usage: ffx net if ip-forward [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
get | get IP forwarding for an interface |
set | set IP forwarding for an interface |
get IP forwarding for an interface
Usage: ffx net if ip-forward get nicid or name:ifname ip_version
Options | |
---|---|
--help | display usage information |
set IP forwarding for an interface
Usage: ffx net if ip-forward set nicid or name:ifname ip_version enable
Options | |
---|---|
--help | display usage information |
lists network interfaces (supports ffx machine output)
Usage: ffx net if list [name_pattern]
Options | |
---|---|
--help | display usage information |
get or set MLD configuration
Usage: ffx net if mld [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
get | get MLD configuration for an interface |
set | set MLD configuration for an interface |
get MLD configuration for an interface
Usage: ffx net if mld get nicid or name:ifname
Options | |
---|---|
--help | display usage information |
set MLD configuration for an interface
Usage: ffx net if mld set [--version <version>] nicid or name:ifname
Options | |
---|---|
--help | display usage information |
--version | the version of MLD to perform. |
commands for logging
Usage: ffx net log [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
set-packets | log packets to stdout |
log packets to stdout
Usage: ffx net log set-packets enabled
Options | |
---|---|
--help | display usage information |
controls netstack selection for migration from netstack2 to netstack3
Usage: ffx net migration [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
clear | clears netstack version for migration configuration. |
get | prints the currently configured netstack version for migration. |
set | sets the netstack version at next boot to |
clears netstack version for migration configuration.
Usage: ffx net migration clear
Options | |
---|---|
--help | display usage information |
prints the currently configured netstack version for migration.
Usage: ffx net migration get
Options | |
---|---|
--help | display usage information |
sets the netstack version at next boot to |ns2| or |ns3|.
Usage: ffx net migration set version
Options | |
---|---|
--help | display usage information |
commands for neighbor tables
Usage: ffx net neigh [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
add | adds an entry to the neighbor table |
clear | removes all entries associated with a network interface from the neighbor table |
config | commands for the Neighbor Unreachability Detection configuration |
del | removes an entry from the neighbor table |
list | lists neighbor table entries (supports ffx machine output) |
watch | watches neighbor table entries for state changes (supports ffx machine output) |
adds an entry to the neighbor table
Usage: ffx net neigh add nicid or name:ifname ip mac
Options | |
---|---|
--help | display usage information |
removes all entries associated with a network interface from the neighbor table
Usage: ffx net neigh clear nicid or name:ifname ip_version
Options | |
---|---|
--help | display usage information |
commands for the Neighbor Unreachability Detection configuration
Usage: ffx net neigh config [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
get | returns the current NUD configuration options for the provided interface |
update | updates the current NUD configuration options for the provided interface |
returns the current NUD configuration options for the provided interface
Usage: ffx net neigh config get nicid or name:ifname ip_version
Options | |
---|---|
--help | display usage information |
updates the current NUD configuration options for the provided interface
Usage: ffx net neigh config update [--base-reachable-time <base-reachable-time>] nicid or name:ifname ip_version
Options | |
---|---|
--help | display usage information |
--base-reachable-time | a base duration, in nanoseconds, for computing the random reachable time |
removes an entry from the neighbor table
Usage: ffx net neigh del nicid or name:ifname ip
Options | |
---|---|
--help | display usage information |
lists neighbor table entries (supports ffx machine output)
Usage: ffx net neigh list
Options | |
---|---|
--help | display usage information |
watches neighbor table entries for state changes (supports ffx machine output)
Usage: ffx net neigh watch
Options | |
---|---|
--help | display usage information |
commands for routing tables
Usage: ffx net route [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
add | adds a route to the route table |
del | deletes a route from the route table |
list | lists devices (supports ffx machine output) |
adds a route to the route table
Usage: ffx net route add --destination <destination> --netmask <netmask or prefix length> [--gateway <gateway>] [--nicid <nicid or name:ifname>] [--metric <metric>]
Options | |
---|---|
--help | display usage information |
--destination | the network id of the destination network |
--netmask | the netmask or prefix length corresponding to destination |
--gateway | the ip address of the first hop router |
--nicid | the outgoing network interface of the route |
--metric | the metric for the route |
deletes a route from the route table
Usage: ffx net route del --destination <destination> --netmask <netmask or prefix length> [--gateway <gateway>] [--nicid <nicid or name:ifname>] [--metric <metric>]
Options | |
---|---|
--help | display usage information |
--destination | the network id of the destination network |
--netmask | the netmask or prefix length corresponding to destination |
--gateway | the ip address of the first hop router |
--nicid | the outgoing network interface of the route |
--metric | the metric for the route |
lists devices (supports ffx machine output)
Usage: ffx net route list
Options | |
---|---|
--help | display usage information |
Create and publish Fuchsia packages
Usage: ffx package [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
archive | Archive Fuchsia packages |
build | Builds a package. |
far | Work with Fuchsia Archive Format (FAR) files |
file-hash | Compute the merkle tree root hash of one or more files. |
Archive Fuchsia packages
Usage: ffx package archive [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
add | add a file (<file_to_add>) to an existing package archive (), overwriting the archive |
cat | write the contents of <far_path> inside the Fuchsia package archive file to stdout |
create | create a package archive from a package_manifest.json |
extract | extract the contents of <far_path> inside the Fuchsia package archive file to the output directory |
list | List the contents of Fuchia package archive file |
remove | remove a file (<file_to_remove>) from an existing package archive (), placing the resulting archive in |
add a file (<file_to_add>) to an existing package archive (), overwriting the archive
Usage: ffx package archive add -a <archive> -f <file-to-add> -p <path-of-file-in-archive> -o <output> [-w <overwrite>]
Options | |
---|---|
--help | display usage information |
-a, --archive | package archive |
-f, --file-to-add | file to add to the package archive |
-p, --path-of-file-in-archive | the destination path in the archive for <file_to_add> |
-o, --output | the name of the resulting archive. Can be the same as to overwrite |
-w, --overwrite | if false, refuses to overwrite files in named by <path_of_file_in_archive> |
write the contents of <far_path> inside the Fuchsia package archive file to stdout
Usage: ffx package archive cat archive far_path
Options | |
---|---|
--help | display usage information |
create a package archive from a package_manifest.json
Usage: ffx package archive create -o <out> [-r <root-dir>] [--depfile <depfile>] package_manifest
Options | |
---|---|
--help | display usage information |
-o, --out | output package archive |
-r, --root-dir | root directory for paths in package_manifest.json |
--depfile | produce a depfile file at the provided path |
extract the contents of <far_path> inside the Fuchsia package archive file to the output directory
Usage: ffx package archive extract [-o <out>] [--repository <repository>] [--blobs-json] archive
Options | |
---|---|
--help | display usage information |
-o, --out | output directory for writing the extracted files. Defaults to the current directory. |
--repository | repository of the package |
--blobs-json | produce a blobs.json file |
List the contents of Fuchia package archive file
Usage: ffx package archive list [-l] archive
Options | |
---|---|
--help | display usage information |
-l, --long-format | show long information for each entry |
remove a file (<file_to_remove>) from an existing package archive (), placing the resulting archive in
Usage: ffx package archive remove -a <archive> -f <file-to-remove> -o <output>
Options | |
---|---|
--help | display usage information |
-a, --archive | package archive |
-f, --file-to-remove | file to add to the package archive |
-o, --output | file to add to the package archive |
Builds a package.
Usage: ffx package build [-o <out>] --api-level <api-level> [--deprecated-ignore-api-level-unsupported-errors] [--published-name <published-name>] [--repository <repository>] [--depfile] [--blobs-json] [--blobs-manifest] [--subpackages-build-manifest-path <subpackages-build-manifest-path>] package_build_manifest_path
Options | |
---|---|
--help | display usage information |
-o, --out | directory to save package artifacts |
--api-level | package API level |
--deprecated-ignore-api-level-unsupported-errors | if true, and --api-level specifies an API level that is no longer supported, ignore the error and print a warning instead. |
--published-name | name of the package |
--repository | repository of the package |
--depfile | produce a depfile file |
--blobs-json | produce a blobs.json file |
--blobs-manifest | produce a blobs.manifest file |
--subpackages-build-manifest-path | path to the subpackages build manifest file |
Work with Fuchsia Archive Format (FAR) files
Usage: ffx package far [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
cat | Dump the contents of the <far_file> entry associated with to stdout |
create | Create a FAR file from a directory. WARNING: this will overwrite <output_file> if it exists. |
extract | Extract from <far_file> to . WARNING: this may overwrite existing files. |
list | List the entries contained in a FAR file |
Dump the contents of the <far_file> entry associated with to stdout
Usage: ffx package far cat far_file path
Options | |
---|---|
--help | display usage information |
Create a FAR file from a directory. WARNING: this will overwrite <output_file> if it exists.
Usage: ffx package far create input_directory output_file
Options | |
---|---|
--help | display usage information |
Extract from <far_file> to . WARNING: this may overwrite existing files.
Usage: ffx package far extract [-v] [-o <output-dir>] far_file [paths...]
Options | |
---|---|
--help | display usage information |
-v, --verbose | verbose output: print file names that were extracted |
-o, --output-dir | output directory (defaults to current directory, creates the directory if it doesn't exist) |
List the entries contained in a FAR file
Usage: ffx package far list [-l] far_file
Options | |
---|---|
--help | display usage information |
-l, --long-format | show detailed information for each entry (does nothing if --machine json is specified, which shows everything) |
Compute the merkle tree root hash of one or more files.
Usage: ffx package file-hash [paths...]
Options | |
---|---|
--help | display usage information |
Manage platform build prerequisites
Usage: ffx platform [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
preflight | Evaluate suitability for building and running Fuchsia |
Evaluate suitability for building and running Fuchsia
Usage: ffx platform preflight [--json]
Options | |
---|---|
--help | display usage information |
--json | outputs json instead of human-readable text. |
Discover and access product bundle metadata and image data.
Usage: ffx product [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
create | Create a Product Bundle using the outputs of Product Assembly. |
download | Download Product Bundle from GCS. |
get-artifacts | Get the paths of a group of artifacts inside a Product Bundle. |
get-image-path | Get the path of an image inside a Product Bundle based on type and slot. |
get-repository | Get the info of repository inside a Product Bundle. |
get-version | Get the product version of a Product Bundle. |
list | List all available products for a specific SDK version. |
lookup | Retrieve image data. |
show | Display a list of details from within a product bundle. |
Create a Product Bundle using the outputs of Product Assembly.
Usage: ffx product create --product-name <product-name> --product-version <product-version> --partitions <partitions> [--system-a <system-a>] [--system-b <system-b>] [--system-r <system-r>] [--tuf-keys <tuf-keys>] [--update-package-version-file <update-package-version-file>] [--update-package-epoch <update-package-epoch>] [--virtual-device <virtual-device...>] [--recommended-device <recommended-device>] --out-dir <out-dir> [--delivery-blob-type <delivery-blob-type>] [--with-deprecated-flash-manifest] [--gerrit-size-report <gerrit-size-report>]
Options | |
---|---|
--help | display usage information |
--product-name | product.board label. e.g. “workstation_eng.x64”. |
--product-version | unique version of this product.board. |
--partitions | path to a partitions config, which lists the physical partitions of the target. |
--system-a | path to an assembly manifest, which specifies images to put in slot A. |
--system-b | path to an assembly manifest, which specifies images to put in slot B. |
--system-r | path to an assembly manifest, which specifies images to put in slot R. |
--tuf-keys | path to the directory of TUF keys, which should include root.json, snapshot.json, targets.json, and timestamp.json. If provided, then a TUF repository will be created inside the product bundle and filled with the product blobs. |
--update-package-version-file | file containing the version of the Product to put in the update package. |
--update-package-epoch | backstop OTA version. Fuchsia will reject updates with a lower epoch. |
--virtual-device | path to a Virtual Device Specification file to include in the product bundle. May be repeated to include multiple Virtual Devices. |
--recommended-device | name of a Virtual Device Specification file to mark as the “recommended” device for emulation. |
--out-dir | directory to write the product bundle. |
--delivery-blob-type | the type of delivery blob the product needs. |
--with-deprecated-flash-manifest | create a deprecated flash manifest for backward compatibility. |
--gerrit-size-report | an optional image size report to generate that indicates the sizes of the images when mapped to partitions. |
Download Product Bundle from GCS.
Usage: ffx product download [--force] [--auth <auth>] [--base-url <base-url>] [--version <version>] [--branch <branch>] manifest_url product_dir
Options | |
---|---|
--help | display usage information |
--force | get the data again, even if it's already present locally. |
--auth | use specific auth flow for oauth2 (see examples; default: pkce). |
--base-url | location to look for product bundles manifest inside GCS. |
--version | filter on products of . The version number is in the format of a.b.c.d . e.g. 19.20240302.2.1. If this value is not passed in, the version will be defaulted to version of ffx tool itself. |
--branch | filter on products of . The branch is either in the form of f (e.g. f18) or LATEST . This option is exclusive with version option. |
Examples
Get the paths of a group of artifacts inside a Product Bundle.
Usage: ffx product get-artifacts -g <artifacts-group> [-r] [product_bundle]
Options | |
---|---|
--help | display usage information |
-g, --artifacts-group | select what group of artifacts to list. One of flash, emu, update, bootloader |
-r, --relative-path | return relative path or not |
Get the path of an image inside a Product Bundle based on type and slot.
Usage: ffx product get-image-path [--slot <slot>] [--image-type <image-type>] [-b <bootloader>] [-r] [product_bundle]
Options | |
---|---|
--help | display usage information |
--slot | the slot where image will be located in. Valid slots are A,B,R. |
--image-type | the type of image. Supported types are fvm, fxfs, qemu-kernel, vbmeta, zbi. |
-b, --bootloader | the type of bootloader. |
-r, --relative-path | return relative path or not |
Get the info of repository inside a Product Bundle.
Usage: ffx product get-repository product_bundle
Options | |
---|---|
--help | display usage information |
Get the product version of a Product Bundle.
Usage: ffx product get-version product_bundle
Options | |
---|---|
--help | display usage information |
List all available products for a specific SDK version.
Usage: ffx product list [--auth <auth>] [--base-url <base-url>] [--version <version>] [--branch <branch>]
Options | |
---|---|
--help | display usage information |
--auth | use specific auth flow for oauth2 (see examples; default: pkce). |
--base-url | location to look for product bundles manifest inside GCS. |
--version | filter on products of . The version number is in the format of a.b.c.d . e.g. 19.20240302.2.1. If this value is not passed in, the version will be defaulted to version of ffx tool itself. |
--branch | filter on products of . The branch is either in the form of f (e.g. f18) or LATEST . This option is exclusive with version option. |
Examples
Retrieve image data.
Usage: ffx product lookup [--auth <auth>] [--base-url <base-url>] name version
Options | |
---|---|
--help | display usage information |
--auth | use specific auth flow for oauth2 (see examples; default: pkce). |
--base-url | where to look for product bundles manifest. |
Examples
Display a list of details from within a product bundle.
Usage: ffx product show [--devices] [--device <device>] product_bundle_path
Options | |
---|---|
--help | display usage information |
--devices | list the virtual devices linked to this product bundle. |
--device | print the details of a virtual device linked to this product bundle. |
Inspect and manage package repositories
Usage: ffx repository [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
add | Make the daemon aware of specific product bundle repositories |
add-from-pm | Make the daemon aware of a specific pm-built repository |
create | Create a repository. |
default | Manage the default repository |
list | List all repositories |
package | List the packages inside a repository |
publish | Publish packages. |
remove | |
serve | (EXPERIMENTAL) serve the repository server, registering repositories to device |
server | Inspect and manage the repository server |
Make the daemon aware of specific product bundle repositories
Usage: ffx repository add [-p <prefix>] product_bundle_dir
Options | |
---|---|
--help | display usage information |
-p, --prefix | repositories will have the prefix NAME . Defaults to devhost . |
Make the daemon aware of a specific pm-built repository
Usage: ffx repository add-from-pm [-r <repository>] [--alias <alias...>] pm_repo_path
Options | |
---|---|
--help | display usage information |
-r, --repository | repositories will be named NAME . Defaults to devhost . |
--alias | alias this repository to these names when this repository is registered on a target. |
Create a repository.
Usage: ffx repository create [--time-versioning] [--keys <keys>] repo_path
Options | |
---|---|
--help | display usage information |
--time-versioning | set repository version based on the current time rather than monotonically increasing version |
--keys | path to the repository keys directory. Default to generate keys at ‘repo_path’/keys. |
Manage the default repository
Usage: ffx repository default [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
get | Get the default configured repository |
set | Set the default repository |
unset | Clears the default configured repository |
Examples
Notes
repository is designated by a *
next to the name. This is an alias for the repository.default
configuration key.
Get the default configured repository
Usage: ffx repository default get
Options | |
---|---|
--help | display usage information |
Notes
Returns an empty string if no default is configured.
Set the default repository
Usage: ffx repository default set [-l <level>] [-b <build-dir>] name
Options | |
---|---|
--help | display usage information |
-l, --level | config level, such as ‘user’, ‘build’, or ‘global’ |
-b, --build-dir | optional directory to associate the provided build config |
Examples
Notes
the ‘User Configuration’. Can be used in conjuction with ffx repository list
to list the names of the discovered repositorys.
After setting the default repository, ffx repository list
will mark the default with a *
in the output list.
Clears the default configured repository
Usage: ffx repository default unset [-l <level>] [-b <build-dir>]
Options | |
---|---|
--help | display usage information |
-l, --level | config level, such as ‘user’, ‘build’, or ‘global’ |
-b, --build-dir | optional directory to associate the provided build config |
Examples
Notes
‘User Configuration’. Returns a warning if the key is already empty.
List all repositories
Usage: ffx repository list
Options | |
---|---|
--help | display usage information |
List the packages inside a repository
Usage: ffx repository package [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
extract-archive | Extract a package archive from the repository |
list | Inspect and manage package repositories |
show | Inspect content of a package |
Extract a package archive from the repository
Usage: ffx repository package extract-archive -o <out> [-r <repository>] package
Options | |
---|---|
--help | display usage information |
-o, --out | output path for the extracted archive. |
-r, --repository | extract package from this repository. |
Inspect and manage package repositories
Usage: ffx repository package list [-r <repository>] [--full-hash] [--include-components <include-components>]
Options | |
---|---|
--help | display usage information |
-r, --repository | list packages from this repository. |
--full-hash | if true, package hashes will be displayed in full (i.e. not truncated). |
--include-components | toggle whether components in each package will be fetched and shown in the output table |
Inspect content of a package
Usage: ffx repository package show [-r <repository>] [--full-hash] [--include-subpackages <include-subpackages>] package
Options | |
---|---|
--help | display usage information |
-r, --repository | list package contents from this repository. |
--full-hash | if true, package hashes will be displayed in full (i.e. not truncated). |
--include-subpackages | if true, show contents of subpackages contained in the package. |
Publish packages.
Usage: ffx repository publish [--signing-keys <signing-keys>] [--trusted-keys <trusted-keys>] [--trusted-root <trusted-root>] [--package <package...>] [--package-list <package-list...>] [--package-archive <package-archive...>] [--product-bundle <product-bundle...>] [--time-versioning] [--metadata-current-time <metadata-current-time>] [--refresh-root] [--clean] [--depfile <depfile>] [--copy-mode <copy-mode>] [--delivery-blob-type <delivery-blob-type>] [--watch] [--ignore-missing-packages] [--blob-manifest <blob-manifest>] [--blob-repo-dir <blob-repo-dir>] repo_path
Options | |
---|---|
--help | display usage information |
--signing-keys | path to the keys used to sign metadata, but not trust for key rotation |
--trusted-keys | path to the keys used to sign and trust metadata (default repository keys/ directory) |
--trusted-root | path to the initial trusted root metadata (default is to use 1.root.json from the repository) |
--package | path to a package manifest |
--package-list | path to a packages list manifest |
--package-archive | path to a package archive |
--product-bundle | path to a product bundle |
--time-versioning | set repository version based on time rather than monotonically increasing version |
--metadata-current-time | the RFC 3339 time used to see if metadata has expired, and when new metadata should expire (default uses the current time) |
--refresh-root | generate a new root metadata along side all the other metadata |
--clean | clean the repository so only new publications remain |
--depfile | produce a depfile file |
--copy-mode | mode used to copy blobs to repository. Either ‘copy’, ‘copy-overwrite’, or ‘hard-link’ (default ‘copy’). |
--delivery-blob-type | the type of delivery blob to generate (default: type 1) |
--watch | republish packages on file change |
--ignore-missing-packages | ignore if package paths do not exist |
--blob-manifest | path to write the blob manifest to |
--blob-repo-dir | path to the blobs directory (default ‘$repo_path/repository/blobs’) |
Usage: ffx repository remove name
Options | |
---|---|
--help | display usage information |
(EXPERIMENTAL) serve the repository server, registering repositories to device
Usage: ffx repository serve [-r <repository>] [--trusted-root <trusted-root>] [--address <address>] [--repo-path <repo-path>] [--product-bundle <product-bundle>] [--alias <alias...>] [--storage-type <storage-type>] [--alias-conflict-mode <alias-conflict-mode>] [--port-path <port-path>] [--no-device]
Options | |
---|---|
--help | display usage information |
-r, --repository | register this repository. Default is devhost . |
--trusted-root | path to the root metadata that was used to sign the repository TUF metadata. This establishes the root of trust for this repository. If the TUF metadata was not signed by this root metadata, running this command will result in an error. Default is to use 1.root.json from the repository. |
--address | address on which to serve the repository. Note that this can be either IPV4 or IPV6. For example, [::]:8083 or 127.0.0.1:8083 Default is [::]:8083 . |
--repo-path | location of the package repo. Default is given by the build directory obtained from the ffx context. |
--product-bundle | location of product bundle. |
--alias | set up a rewrite rule mapping each alias host to the repository identified by name . |
--storage-type | enable persisting this repository across reboots. Default is Ephemeral . |
--alias-conflict-mode | resolution mechanism when alias registrations conflict. Must be either error-out or replace . Default is replace . |
--port-path | location to write server port information to, in case port dynamically instantiated. |
--no-device | if true, will not register repositories to device. Default is false . |
Inspect and manage the repository server
Usage: ffx repository server [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
start | Starts the repository server. Note that all repositories listed from ffx repository list will be started as subpaths. |
status | Retrieves the status of the repository server. If server is running will also return socket address. Note that all repositories under ffx repository list will be running as subpaths at the returned address. |
stop | Stops the repository server |
Starts the repository server. Note that all repositories listed from ffx repository list
will be started as subpaths.
Usage: ffx repository server start [--address <address>]
Options | |
---|---|
--help | display usage information |
--address | address on which to start the repository. Note that this can be either IPV4 or IPV6. For example, [::]:8083 or 127.0.0.1:8083 |
Retrieves the status of the repository server. If server is running will also return socket address. Note that all repositories under ffx repository list
will be running as subpaths at the returned address.
Usage: ffx repository server status
Options | |
---|---|
--help | display usage information |
Stops the repository server
Usage: ffx repository server stop
Options | |
---|---|
--help | display usage information |
Modify or query the installed SDKs
Usage: ffx sdk [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
populate-path | Populates the given path with symlinks to the fuchsha-sdk-run tool to run project-specific sdk tools |
run | Run a host tool from the active sdk |
set | Set sdk-related configuration options |
version | Retrieve the version of the current SDK |
Populates the given path with symlinks to the fuchsha-sdk-run
tool to run project-specific sdk tools
Usage: ffx sdk populate-path path
Options | |
---|---|
--help | display usage information |
Run a host tool from the active sdk
Usage: ffx sdk run name args
Options | |
---|---|
--help | display usage information |
Set sdk-related configuration options
Usage: ffx sdk set [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
root | Sets the path to the root of the preferred SDK |
Sets the path to the root of the preferred SDK
Usage: ffx sdk set root path
Options | |
---|---|
--help | display usage information |
Retrieve the version of the current SDK
Usage: ffx sdk version
Options | |
---|---|
--help | display usage information |
Control the session component.
Usage: ffx session [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
add | Add an element to the current session. |
If the --persist option is used, the package should be in the base or cache package set as otherwise it might fail to launch after a reboot. | launch | Launch a session component. | remove | Remove an element from the current session.
Persistent elements will be removed permanently. Any persistent storage used by elements will not be removed. | restart | Restart the current session component. | show | Show information about the current session | start | Start the default session component. | stop | Stop the session component.
Notes
Add an element to the current session.
If the --persist option is used, the package should be in the base or cache package set as otherwise it might fail to launch after a reboot.
Usage: ffx session add [--interactive] [--persist] [--name <name>] url
Options | |
---|---|
--help | display usage information |
--interactive | pass to keep element alive until command exits |
--persist | pass to have the element persist over reboots |
--name | name for the element which defaults to random if not specified |
Examples
Launch a session component.
Usage: ffx session launch url
Options | |
---|---|
--help | display usage information |
Examples
Remove an element from the current session.
Persistent elements will be removed permanently. Any persistent storage used by elements will not be removed.
Usage: ffx session remove name
Options | |
---|---|
--help | display usage information |
Restart the current session component.
Usage: ffx session restart
Options | |
---|---|
--help | display usage information |
Notes
Show information about the current session
Usage: ffx session show
Options | |
---|---|
--help | display usage information |
Start the default session component.
Usage: ffx session start
Options | |
---|---|
--help | display usage information |
Notes
Stop the session component.
Usage: ffx session stop
Options | |
---|---|
--help | display usage information |
Interact with a target device or emulator
Usage: ffx target [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
add | Make the daemon aware of a specific target |
bootloader | Communicates with the bootloader |
clear-preferred-ssh-address | Clears a previously configured SSH address |
default | Manage the default target |
echo | run echo test against the target |
flash | Flash an image to a target device |
get-ssh-address | Get the target's ssh address |
get-time | Gets the monotonic time on the target device |
list | List all targets |
off | Powers off a target |
reboot | Reboots a target |
remove | Make the daemon forget a specific target |
repository | Interact with target repository registration |
screenshot | Takes a screenshot of the target |
set-preferred-ssh-address | Sets the preferred SSH address |
show | Display relevant information for the target |
snapshot | Takes a snapshot of the target's state |
ssh | SSH to a target device |
update | Update base system software on target |
wait | Wait until able to establish a remote control connection to the target. |
Notes
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.
Make the daemon aware of a specific target
Usage: ffx target add [-n] addr
Options | |
---|---|
--help | display usage information |
-n, --nowait | do not wait for a connection to be verified on the Fuchsia device. |
Examples
Notes
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.
This command will attempt to connect to the target in order to verify that RCS can be used, allowing for typical FFX related workflows. If you do not wish to use this, then you can run use the --nowait
flag to return immediately. This can be useful for debugging connection issues.
If you send SIGINT (Ctrl-C) to the command before the connection to the target is verified, the target will be removed. If RCS cannot be connected to (e.g. some connectivity error is encountered), the target will also be removed.
Communicates with the bootloader
Usage: ffx target bootloader [-m <manifest>] [-p <product>] [-b <product-bundle>] [--skip-verify] [subcommand...]
Options | |
---|---|
--help | display usage information |
-m, --manifest | path to flashing manifest or zip file containing images and manifest |
-p, --product | product entry in manifest - defaults to fuchsia |
-b, --product-bundle | optional product bundle name |
--skip-verify | skip hardware verification. This is dangerous, please be sure the images you are using match the device |
Subcommands | |
---|---|
boot | RAM boots a fastboot target. |
info | Prints fastboot variables for target. |
lock | Locks a fastboot target. |
unlock | Unlocks a fastboot target. |
RAM boots a fastboot target.
Usage: ffx target bootloader boot [-z <zbi>] [-v <vbmeta>] [-s <slot>]
Options | |
---|---|
--help | display usage information |
-z, --zbi | optional zbi image file path to use |
-v, --vbmeta | optional vbmeta image file path to use |
-s, --slot | slot corresponding to partitions in the flash manifest - |
only used if zbi and vbmeta files are not present |
Prints fastboot variables for target.
Usage: ffx target bootloader info
Options | |
---|---|
--help | display usage information |
Locks a fastboot target.
Usage: ffx target bootloader lock
Options | |
---|---|
--help | display usage information |
Unlocks a fastboot target.
Usage: ffx target bootloader unlock [-c <cred>] [--force]
Options | |
---|---|
--help | display usage information |
-c, --cred | optional path to credential file to use to unlock the device |
--force | skips the warning message that this command is dangerous |
Clears a previously configured SSH address
Usage: ffx target clear-preferred-ssh-address
Options | |
---|---|
--help | display usage information |
Notes
set-preferred-ssh-address command on the default target. Executing this command severs any existing connection to the target and establishes a new connection. The newly selected address is chosen using the standard address selection logic.
Manage the default target
Usage: ffx target default [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
get | Get the default configured target |
set | Set the default target |
unset | Clears the default configured target |
Examples
Notes
target is designated by a *
next to the name. This is an alias for the target.default
configuration key.
Get the default configured target
Usage: ffx target default get [-l <level>] [-b <build-dir>]
Options | |
---|---|
--help | display usage information |
-l, --level | config level, such as ‘user’, ‘build’, or ‘global’ - defaults to searching all levels |
-b, --build-dir | optional directory to associate the provided build config |
Notes
Returns an empty string if no default is configured.
Set the default target
Usage: ffx target default set [-l <level>] [-b <build-dir>] nodename
Options | |
---|---|
--help | display usage information |
-l, --level | config level, such as ‘user’, ‘build’, or ‘global’ |
-b, --build-dir | optional directory to associate the provided build config |
Examples
Notes
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.
Clears the default configured target
Usage: ffx target default unset [-l <level>] [-b <build-dir>]
Options | |
---|---|
--help | display usage information |
-l, --level | config level, such as ‘user’, ‘build’, or ‘global’ |
-b, --build-dir | optional directory to associate the provided build config |
Examples
Notes
‘User Configuration’. Returns a warning if the key is already empty.
run echo test against the target
Usage: ffx target echo [--repeat] [text]
Options | |
---|---|
--help | display usage information |
--repeat | run the echo test repeatedly until the command is killed |
Flash an image to a target device
Usage: ffx target flash [-p <product>] [-b <product-bundle>] [-m <manifest>] [--oem-stage <oem-stage...>] [--authorized-keys <authorized-keys>] [--no-bootloader-reboot] [--skip-verify] [manifest_path]
Options | |
---|---|
--help | display usage information |
-p, --product | product entry in manifest - defaults to fuchsia |
-b, --product-bundle | optional product bundle name |
-m, --manifest | optional manifest path |
--oem-stage | oem staged file - can be supplied multiple times |
--authorized-keys | path to authorized keys file - will default to the value configured for ssh.pub key in ffx config. If the file does not exist, it will be created. |
--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 |
Examples
Notes
Requires a specific file and 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 format is a JSON file generated when building a fuchsia 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 the target's ssh address
Usage: ffx target get-ssh-address [-t <timeout>]
Options | |
---|---|
--help | display usage information |
-t, --timeout | the timeout in seconds [default = 1.0] |
Notes
target.default
key. By default this comes from the ‘User Configuration’.
The command takes a value in seconds with a default of 1.0
and overrides the value in the target.interaction.timeout
key.
Errors | |
---|---|
1 | Timeout while getting ssh address |
2 | Unable to get ssh address from target |
Gets the monotonic time on the target device
Usage: ffx target get-time
Options | |
---|---|
--help | display usage information |
Examples
List all targets
Usage: ffx target list [-f <format>] [--no-ipv4] [--no-ipv6] [nodename]
Options | |
---|---|
--help | display usage information |
-f, --format | determines the output format for the list operation |
--no-ipv4 | do not return IPv4 addresses |
--no-ipv6 | do not return IPv6 addresses |
Examples
Notes
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. SERIAL = The serial number of the target. TYPE = The product type of the target. STATE = The high-level state of 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, the NAME column may be <unknown>
with a STATE being fastboot
and a SERIAL attribute.
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’.
By default, Zedboot discovery is disabled. To enable discovery of Zedboot targets run:
$ ffx config set discovery.zedboot.enabled true
Errors | |
---|---|
2 | If a nodename is supplied, an error code of 2 will be returned if the nodename cannot be resolved |
Powers off a target
Usage: ffx target off
Options | |
---|---|
--help | display usage information |
Notes
FIDL API to send the power off command.
‘fuchsia.hardware.power.statecontrol.Admin’ is exposed by the ‘power_manager’ component. To verify that the target exposes this service, ffx component select
or ffx component knock
can be used.
Errors | |
---|---|
1 | Timeout while powering off target. |
Reboots a target
Usage: ffx target reboot [-b] [-r]
Options | |
---|---|
--help | display usage information |
-b, --bootloader | reboot to bootloader |
-r, --recovery | reboot to recovery |
Notes
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.
‘fuchsia.hardware.power.statecontrol.Admin’ is exposed by the ‘power_manager’ component. To verify that the target exposes this service, ffx component select
or ffx component knock
can be used.
Errors | |
---|---|
1 | Timeout while powering off target. |
Make the daemon forget a specific target
Usage: ffx target remove [--all] [name_or_addr]
Options | |
---|---|
--help | display usage information |
--all | remove all manually added targets |
Examples
Notes
for best results, copy the exact address from ffx target list.
Interact with target repository registration
Usage: ffx target repository [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
deregister | Make the target forget a specific repository |
list | List all the repositories on a target |
register | Make the target aware of a specific repository |
Notes
Make the target forget a specific repository
Usage: ffx target repository deregister [-r <repository>]
Options | |
---|---|
--help | display usage information |
-r, --repository | remove the repository named name from the target, rather than the default. |
List all the repositories on a target
Usage: ffx target repository list
Options | |
---|---|
--help | display usage information |
Make the target aware of a specific repository
Usage: ffx target repository register [-r <repository>] [--storage-type <storage-type>] [--alias <alias...>] [--alias-conflict-mode <alias-conflict-mode>]
Options | |
---|---|
--help | display usage information |
-r, --repository | register this repository, rather than the default. |
--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 . |
--alias-conflict-mode | resolution mechanism when alias registrations conflict. Must be either error-out or replace . Default is replace . |
Takes a screenshot of the target
Usage: ffx target screenshot [-d <dir>] [--format <format>]
Options | |
---|---|
--help | display usage information |
-d, --dir | override the default directory where the screenshot will be saved |
--format | screenshot format. If no value is provided bgra will be used. |
Accepted values: bgra, rgba, png
Examples
Notes
The --dir
can be supplied to override the default screenshot saving location /tmp/screenshot/YYYYMMDD_HHMMSS/
. The --format can be supplied to override the default format png. Accepted format values: bgra, rgba, png. The screenshot file name is screenshot.<format>
.
Sets the preferred SSH address
Usage: ffx target set-preferred-ssh-address addr
Options | |
---|---|
--help | display usage information |
Examples
Notes
successful, then any existing connection to the target is severed and a new connection is established. The specified address is not persisted across daemon version changes or restarts.
Display relevant information for the target
Usage: ffx target show [--desc] [--label]
Options | |
---|---|
--help | display usage information |
--desc | display descriptions of entries |
--label | display label of entries |
Notes
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.
Errors | |
---|---|
1 | Timeout retrieving target information. |
Takes a snapshot of the target's state
Usage: ffx target snapshot [-d <dir>] [--dump-annotations]
Options | |
---|---|
--help | display usage information |
-d, --dir | valid directory where the snapshot will be stored |
--dump-annotations | print annotations without capturing the snapshot, ignores dir flag |
Examples
Notes
useful debugging information about the target. The --dir
can be supplied to override the default snapshot directory /tmp/snapshots/YYYYMMDD_HHMMSS/
.
Snapshot contents:
SSH to a target device
Usage: ffx target ssh [--sshconfig <sshconfig>] [command...]
Options | |
---|---|
--help | display usage information |
--sshconfig | path to the custom ssh config file to use. |
Examples
Update base system software on target
Usage: ffx target update [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
channel | View and manage update channels |
check-now | Check and perform the system update operation |
force-install | Trigger the system updater manually |
Notes
View and manage update channels
Usage: ffx target update channel [subcommand...]
Options | |
---|---|
--help | display usage information |
Subcommands | |
---|---|
get-current | Return the currently configured update channel |
get-next | Return the next or target update channel |
list | List the known update channels |
set | Sets the update channel |
Notes
the ‘fuchsia.update.channelcontrol.ChannelControl’ service on the target system.
Return the currently configured update channel
Usage: ffx target update channel get-current
Options | |
---|---|
--help | display usage information |
Notes
Errors | |
---|---|
1 | Timeout while getting update channel. |
Return the next or target update channel
Usage: ffx target update channel get-next
Options | |
---|---|
--help | display usage information |
Notes
next successful update changes the configured update channel on the system.
Errors | |
---|---|
1 | Timeout while getting update channel. |
List the known update channels
Usage: ffx target update channel list
Options | |
---|---|
--help | display usage information |
Notes
Returns an empty list if no other update channels are configured.
Errors | |
---|---|
1 | Timeout while getting list of update channel. |
Sets the update channel
Usage: ffx target update channel set channel
Options | |
---|---|
--help | display usage information |
Examples
Notes
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.
Errors | |
---|---|
1 | Timeout while setting update channel. |
Check and perform the system update operation
Usage: ffx target update check-now [--service-initiated] [--monitor]
Options | |
---|---|
--help | display usage information |
--service-initiated | the update check was initiated by a service, in the background. |
--monitor | monitor for state update. |
Examples
Notes
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.
Trigger the system updater manually
Usage: ffx target update force-install [--reboot <reboot>] update_pkg_url
Options | |
---|---|
--help | display usage information |
--reboot | automatically trigger a reboot into the new system |
Examples
Notes
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 until able to establish a remote control connection to the target.
Usage: ffx target wait [-t <timeout>] [-d]
Options | |
---|---|
--help | display usage information |
-t, --timeout | the timeout in seconds [default = 120]. A value of 0 implies no timeout. |
-d, --down | wait for target to go down |
Errors | |
---|---|
1 | Timeout while getting ssh address |
Print out ffx tool and daemon versions
Usage: ffx version [-v]
Options | |
---|---|
--help | display usage information |
-v, --verbose | if true, includes details about both ffx and the daemon |