ffx target flash
指令可在裝置上刷新 Fuchsia 映像檔。
概念
Fuchsia 會使用以 Fastboot 為基礎的閃燈機制,在硬體裝置上安裝 Fuchsia 產品。Fastboot 通訊協定 (原本是 Android 的一部分) 是透過 USB 或以太網路與引導程式通訊的機制。這個機制可讓您在裝置的非揮發性記憶體中刷新 Fuchsia 預先建構的映像檔。
如要在裝置上刷新 Fuchsia 映像檔,裝置的系統啟動載入程式必須支援 Fastboot 模式。裝置可啟動至 Fastboot 模式後,您就可以使用 ffx target flash
在裝置上刷新 Fuchsia 映像檔。不過,如果裝置的引導程序不支援 Fastboot,您必須先更新引導程序。更新裝置的系統啟動載入程式 (以支援 Fastboot) 通常需要針對裝置類型和製造商的特定指示,這不在本指南的討論範圍。
Fuchsia 預先建構映像檔可從各種來源取得,例如 Google Cloud Storage 和專案存放區。此外,您也可以從 Fuchsia 來源檢查點產生自訂預先建構的映像檔。無論是哪種情況,用於刷新的預先建構映像檔都必須與目標裝置相符。
刷新裝置
如要在裝置上刷新 Fuchsia 映像檔,請執行下列步驟:
- 透過 USB 或乙太網路將裝置連線至主機。
檢查裝置狀態:
ffx target list
這個指令會輸出類似以下的內容:
$ ffx target list NAME SERIAL TYPE STATE ADDRS/IP RCS <unknown> 01234ABCD012YZ Unknown Fastboot [] N
確認裝置的狀態為
Fastboot
。如果
ffx target list
只在 Fastboot 模式下顯示單一裝置 (如上例所示),ffx
指令會自動指定該裝置。不過,如果連接多部裝置,您必須指定目標裝置。(選用) 如果有多部裝置,請設定預設 Fuchsia 目標。
如果步驟 3 中的
ffx target list
指令顯示多個裝置,且您想為ffx
指令設定預設目標 (而非使用--target
旗標),就需要執行這個步驟。設定預設 Fuchsia 目標取決於您使用的環境:
Fuchsia SDK
針對 Fuchsia SDK 環境,請使用
FUCHSIA_NODENAME
環境變數設定目標:FUCHSIA_NODENAME=<TARGET_DEVICE>
例如:
$ FUCHSIA_NODENAME=fuchsia-5254-0063-5e7a
fuchsia.git
在 Fuchsia 來源檢查 (
fuchsia.git
) 環境中工作時,您可以執行下列fx
指令,為目前的建構目錄設定預設目標裝置:fx set-device <TARGET_DEVICE>`
例如:
$ fx set-device fuchsia-5254-0063-5e7a
您可以執行
fx unset-device
來取消設定預設目標。刷新裝置:
ffx target flash <FUCHSIA_IMAGE>
將
FUCHSIA_IMAGE
替換為包含 Fuchsia 預先建構映像檔及其 Flash 資訊清單檔案的封存檔案,例如:$ ffx target flash ~/Downloads/fuchsia-image-example.zip
閃燈完成後,裝置會重新啟動並開始執行 Fuchsia。
將裝置啟動至快速系統啟動模式 (Fastboot mode)
如要觸發 Fuchsia 裝置啟動至 Fastboot 模式,請執行下列指令:
ffx target reboot -b
重新啟動後,裝置會進入快速系統啟動模式。