fx - Fuchsia 開發指令

fx 是一組子指令的進入點,有助於簡化許多與 Fuchsia 開發相關的工作。

其中包含大量的子指令。執行 fx help 即可查看所有可用的子指令。如果您使用 bash 或 zsh 做為殼層,請來源 scripts/fx-env.sh
以完成某些自動完成功能。

此外,也請參閱會影響所有子指令的通用選項和標記

fx 子指令

主要子指令

屬於 fx 工作流程的子指令。

指令 類別 說明
add-update-source 軟體推送 將開發主機註冊為目標的更新來源
args 版本 手動編輯目前的建構目錄 args.gn
bazel 版本 執行 Fuchsia 平台樹狀結構的實驗性 Bazel 建構作業
bazel-tool 版本 在 Fuchsia Bazel 工作區中執行 bazel-tool 指令碼。
bootfs-size-report 執行、檢查及偵錯 從 ZBI 產生未壓縮的尺寸報告
build 版本 執行 Ninja 建構 Fuchsia
build-metrics 其他 管理建構指標設定
降雨機率 來源樹狀結構 執行 cipd 指令列工具
清理 版本 清除現行的 Fuchsia 版本構件
清理版本 版本 清除建構目錄,然後執行完整建構作業
Clandead 版本 刪除建構輸出目錄中的過時檔案。
Clandead-build 版本 刪除過時產生的檔案,然後執行完整建構作業。
cmc 版本 元件資訊清單編譯器
cp 裝置管理 將檔案複製到目標裝置,或從目標裝置複製檔案
create-pb-zip 其他 根據 product_bundles.json 檔案建立 pb.zip。接著建立的 ZIP 檔案
建立 來源樹狀結構 Scaffold 新專案
文件檢查工具 提交及審查程式碼 查看 Markdown 說明文件,瞭解各種不同的檢查方式。
exec 其他 讀取目前的建構設定,然後執行
fargo 版本 Fargo 是 Fuchsia 在 Cargo 周圍的原型設計
擷取建構成果 版本 TODO(https://fxbug.dev/42139110):建置中。
閃光燈 裝置管理 刷新,並視情況鋪陳已連結的裝置
flash-remote 其他 如要從遠端建構、擷取 Fuchsia 映像檔,並將映像檔刷新到裝置上,請參閱 https://fuchsia.dev/fuchsia-src/Development/sdk/ffx/flash-a-device
格式代碼 來源樹狀結構 在已修改的檔案上執行來源格式器
gen 版本 針對 Fuchsia 建構目錄執行 gn gen
get-build-artifacts 內部 API 已淘汰!已重新命名為「list-build-artifacts
get-build-dir 版本 列印目前的 fuchsia 版本目錄
尋找我的裝置 探索裝置 列印目前選取的裝置名稱。
get-device-addr 探索裝置 列印目前所選裝置的 Fuchsia 位址
get-flash-source 內部 API 建構並傳回想要的一組建構構件
get-src-dir 版本 列印 Fuchsia 來源目錄 (結帳根目錄,又稱「//」)
get-workspace-dir 版本 列印 Bazel 工作區目錄
棕色 版本 產生 Ninja 建構檔案的中繼建構系統
開始 版本 管理 Go 原始碼
goma_auth 版本 為 Goma 分散式編譯用戶端設定驗證機制
goma_ctl 版本 控製本機 Goma 分散式編譯用戶端
說明文件 說明文件 為 fx 子指令建立 Markdown 文件
host-tool 執行、檢查及偵錯 執行建構作業產生的主機工具
is-package-server-running 軟體推送 檢查套件伺服器是否正在執行
jiri 來源樹狀結構 用於開發多存放區的多用途工具。
jq 其他 jq 是在指令列中操控 JSON 的公用程式。
jq5 版本 將 jq 的功能擴充為 json5 物件。
klog 執行、檢查及偵錯 監聽核心記錄
清單主面板 版本 可用於建構的清單板
list-build-artifacts 內部 API 建構並傳回想要的一組建構構件
探索裝置 列出所有附近的裝置 (不含 Zedboot 啟動的裝置)
清單產品 版本 列出可建構的產品
list-usb-disks 其他 列出連接的 USB 磁碟
記錄 執行、檢查及偵錯 顯示目標裝置的記錄。
mdlint 提交及審查程式碼 Markdown Linter
merge-package-config 其他
metrics 其他 透過 fx 工具管理指標集合
mkzedboot 軟體推送 建立 zedboot 的 USB 金鑰。
mkzedboot-remote 軟體推送 建立 zedboot 的 USB 金鑰。
其他 在多個建構目錄中執行 fx 指令。
netaddr 探索裝置 取得慢跑系統位址
網路啟動 軟體推送 網路啟動用開機磁碟
netboot-remote 其他 遠端建構、擷取及透過網路啟動
淨利 探索裝置 列出區域網路上正在運作的肥皂系統。
忍者 版本 直接執行建構系統請勿在一般工作流程中使用。
ninjatrace2json 版本 在 chrome://tracing 中收集 Ninja 追蹤記錄資訊以進行分析
node-names 裝置管理 尋找同一節點的其他名稱
Ota 軟體推送 在已連結的裝置上執行系統 OTA
鋪面 軟體推送 執行開機伺服器
手足式 其他 遠端建構、擷取及鋪砌
鋪陳 軟體推送 執行開機伺服器以用於 Zedboot
pave-Zedboot-remote 其他 從遠端建構、擷取及鋪設 Zedboot
qemu 執行、檢查及偵錯 使用 FVM 磁碟在 qemu 中啟動 fuchsia
重新啟動 裝置管理 重新啟動目標 fuchsia 系統。
迴避 版本 在本機複製基礎架構建構和測試的結果
rfc 來源樹狀結構 Scaffold 新 RFC
run-host-tests 測試 已淘汰!在主機上建構並執行測試
run-in-build-dir 版本 在目前建構目錄的根目錄中執行指定指令
run-netboot 執行、檢查及偵錯 在 qemu 透過 netboot 啟動棉絮
run-script 其他 執行自訂指令組合,以便充分運用 fx -i (疊代模式)
scp 裝置管理 使用建構 SSH 設定叫用 scp
sdk-deps 其他 列出目標的依附元件,以及 SDK 中是否包含依附元件
self-build 版本 建構最小的主機依附元件來執行 fx 主要工作流程
自我測試 測試 執行 fx 和子指令的測試
serial 裝置管理 連接至序列控制台
放送 軟體推送 啟動更新伺服器並連接至執行中的 fuchsia 裝置。
serve-remote 其他 可從遠端工作站提供
設定 版本 設定建構目錄
set-build-dir 版本 設定其他 fx 指令使用的預設建構目錄
設定裝置 探索裝置 設定互動的預設裝置
setup-macos 其他 在 MacOS 應用程式防火牆註冊主機工具
setup-ufw 其他 設定 Linux 防火牆規則,允許 Fuchsia 裝置和模擬器的流量。
Sftp 裝置管理 使用建構 SSH 設定叫用 sftp
殼層 裝置管理 在目標裝置上啟動遠端互動殼層
ssh 裝置管理 使用 $FUCHSIA_BUILD_DIR/ssh-keys 的金鑰叫用 SSH
狀態 其他 列印與開發人員設定相關的資訊
符號 執行、檢查及偵錯 已淘汰,請使用「ffx debug 符號 ize」
同步 來源樹狀結構 將本機 Fuchsia 來源樹狀結構同步處理至指定狀態
Syslog 執行、檢查及偵錯 已淘汰![已淘汰] 外匯記錄的別名
測試 測試 所有 Fuchsia 測試的進入點 (主機、目標和端對端測試)
testgen 測試 元件整合測試自動產生器
未設定的裝置 探索裝置 取消設定要互動的預設裝置
更新 軟體推送 已淘汰![已淘汰] fx ota 的別名
update-if-in-base 軟體推送 檢查套件是否為基底,並視需要更新裝置
用途 版本 重複使用先前由 fx set 設定的建構目錄
供應商 其他 將指令轉送至 provider/*/scripts/devshell
等待 裝置管理 等待殼層可供使用

Contrib 子指令

由具備其他層級支援和/或擁有權範圍的專案成員提供的子指令。Contrib 目錄中的 OWNERS 檔案會提供指向支援每個指令碼的成員指標。

指令 類別 說明
新增測試 版本 為 args.gn 和 regen 新增 GN 標籤
阿姆斯特丹 其他 解碼 ARM Exception Syndrome Register 值
bindc 執行、檢查及偵錯 執行繫結程式編譯器和偵錯工具
binutils 執行、檢查及偵錯 提供預先建構的 LLVM binutils 工具捷徑
bisect-rustc 其他
blobstats 執行、檢查及偵錯 從建構作業計算某些 blobfs 統計資料
bt-snoop-from-snapshot 執行、檢查及偵錯 從快照中擷取窺探記錄做為 Pcap 格式的資料
勾號 版本 會檢查
check-goldens 來源樹狀結構 檢查 GN 建構圖中的所有黃金檔案比較。
檢查授權 說明文件 分析指定套件或目錄的授權狀態
cl 提交及審查程式碼 在新的瀏覽器視窗中開啟語言評論網址。
clang-tidy 來源樹狀結構 可在指定檔案上執行 clang-tidy
剪輯 其他 這個外掛程式能在鎖定底下的 fx 環境中執行 Rust 輔助指令碼
剪輯 診斷
compdb 版本 不再使用
核心測試 測試 執行 Zircon 核心測試
涵蓋率 測試 執行測試並匯出涵蓋率資料。
cpu-stats 執行、檢查及偵錯 從快照產生 CPU 統計資料
折扣 診斷 針對來自建構作業的二進位檔轉儲以拆卸。
exec-host-tests 測試
extract-pprof 執行、檢查及偵錯 從 inspect.json 中擷取 pprof 資料
extract-Zbi 其他
Fastboot 裝置管理 透過 Quickboot 通訊協定直接與裝置的系統啟動載入程式互動
ffx 其他 執行 ffx - Future fx
Fidlcat 執行、檢查及偵錯 已淘汰,請使用「ffx debug fidl」
Fidldoc 說明文件 產生 FIDL 的說明文件
壁爐 其他 產生 .fidl 檔案的標記
尋找擁有者 來源樹狀結構 找出與所提供路徑對應的最接近 OWNERS 檔案,或
force-ota-from-devhost 軟體推送 從開發主機強制執行「無線更新」系統更新 (重新啟動!)
模糊 執行、檢查及偵錯 已淘汰!在目標裝置中執行模糊測試
gc 軟體推送 在目標上執行垃圾收集套件 (重新啟動!)
gce 其他 Google Compute Engine 指令
gdb 執行、檢查及偵錯 執行 GDB,GNU DeBugger。
gen-cargo 其他 這個外掛程式能在 fx 環境中執行 Rust 輔助指令碼
gen-cargo 來源樹狀結構 產生 Rust Cargo.toml 輸出檔案的符號連結
gerrit-split-cl 提交及審查程式碼 將 CL 鏈結提交給 Gerrit
Gerrit-submit 提交及審查程式碼 將 CL 鏈結提交給 Gerrit
顆粒 執行、檢查及偵錯 提供預先建立的 GNU 診斷工具捷徑
goma 版本 管理 Goma 分散式編譯用戶端
grep 來源樹狀結構 列印符合指定模式 Fuchsia 來源中的線條
init-partition-tables 其他 執行開機伺服器,以便初始化分區資料表
iquery 其他
Lint 來源樹狀結構 在已修改的檔案上執行原始碼 Linter
list-packages 版本 列出建構的套件。
ls-buildid 版本 在建構目錄、結帳頁面和雲端儲存空間中尋找二進位檔
Make-fuchsia-vol 其他 那就是 Kubernetes 叢集
mkinstaller 軟體推送 製作 Fuchsia 安裝程式映像檔
mkinstaller-remote 軟體推送 從遠端建構主機製作 Fuchsia 安裝程式映像檔
move-docs 說明文件 將文件批次移至其他位置的輔助工具
待處理的修訂項目 來源樹狀結構 查看尚未發布至全域整合的修訂版本
pprof 執行、檢查及偵錯 提供 pprof 包裝函式,授予符號索引內本機檔案存取權
publish 軟體推送 發布一組套件
qemu-cipd-ensure 其他 產生 CIPD 檔案,下載目前的 QEMU 套件。
refresh-bazel-compdb 其他
refresh-bazel-compdb-bin.py 其他
移除-update-source 軟體推送 將開發主機取消註冊為目標的更新來源
滾動式編譯器 其他
run-boot-test 執行、檢查及偵錯 執行 ZBI 測試
run-boot-test.py 其他
執行 e2e-tests 測試 執行 e2e 測試
Run-in-build 執行、檢查及偵錯 在建構目錄中執行指令
執行復原 執行、檢查及偵錯 在 qemu 中啟動 Fuchsia 系統復原
run-zbi-test-remote 執行、檢查及偵錯 從遠端建立 ZBI 測試、擷取及執行
rust-3p 過時版本 其他 這個外掛程式能在鎖定底下的 fx 環境中執行 Rust 輔助指令碼
rust-3p 過時版本 診斷
rustdoc 其他 這個外掛程式能在 fx 環境中執行 Rust 輔助指令碼
rustdoc 說明文件 產生 Rust 程式碼的說明文件
rustfmt 其他 這個外掛程式能在 fx 環境中執行 Rust 輔助指令碼
rustfmt 來源樹狀結構 格式化 Rust 程式碼
靜心花紋 來源樹狀結構 設定 Jiri 管理特定花瓣
設定轉送 其他 透過將單一位元組寫入 |tty| 來操作外部轉發的狀態。
setup-go 其他 為 Go 開發設定結帳功能。
setup-usb-ethernet 其他 設定 USB CDC 乙太網路的 udev 規則
節目套件 軟體推送 列出套件內容
設為靜音 來源樹狀結構 關閉 Rust Lint,採用允許或編譯器建議的修正方式
尺寸檢查 其他 用於執行產品大小檢查工具的便利包裝函式。
煙霧測試 其他 這個外掛程式能在 fx 環境中執行 Python 輔助指令碼
煙霧測試 測試 尋找並執行受到目前變更影響的測試。
快照 執行、檢查及偵錯 從連結的目標取得及剖析快照。
狙擊 執行、檢查及偵錯 Fuchsia 封包擷取與顯示工具
sniff.py 其他
符號索引 版本 (已淘汰) 操控符號索引檔案
sync-from-stem 來源樹狀結構 將整合與依附元件同步處理至符合 fuchsia.git 狀態的狀態
test-rustdoc 測試 對所有 Rust 目標執行「fx rustdoc」
測試統計資料 測試 查詢並計算測試統計資料。
test-stats.py 測試 查詢並計算測試統計資料。
traceutil 執行、檢查及偵錯 Fuchsia 追蹤公用程式
分類 執行、檢查及偵錯 產生錯誤狀況報表
unArchive-package 軟體推送 取消封存 FAR 格式的 Fuchsia 套件封存檔
update-3p-owners 來源樹狀結構 更新 third_party 依附元件的 OWNERS 檔案
update-rust-3p-outdated 來源樹狀結構 透過 crates.io 的最新更新,更新外部 Rust 依附元件
update-rustc-third-party 來源樹狀結構 更新 rustc_library 和 rustc_binary third_party 依附元件
validate-sdk 版本 嘗試根據核心 SDK 建構幾個以 SDK 為基礎的 OOT 存放區
清除分區資料表 其他 執行啟動伺服器,以便清除分區資料表
zbi_json_to_d3js.py 其他
zedmon 其他 執行 zedmon 用戶端
zxdb 執行、檢查及偵錯 已淘汰,請使用「ffx debug connect」