刷新裝置 Fuchsia 圖片

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 映像檔,請執行下列步驟:

  1. 透過 USB 或乙太網路將裝置連線至主機。
  2. 將裝置啟動至快速系統啟動模式

  3. 檢查裝置狀態:

    ffx target list

    這個指令會輸出類似以下的內容:

    $ ffx target list
    NAME         SERIAL            TYPE       STATE       ADDRS/IP    RCS
    <unknown>    01234ABCD012YZ    Unknown    Fastboot    []          N
    

    確認裝置的狀態為 Fastboot

    如果 ffx target list 只在 Fastboot 模式下顯示單一裝置 (如上例所示),ffx 指令會自動指定該裝置。不過,如果連接多部裝置,您必須指定目標裝置。

  4. (選用) 如果有多部裝置,請設定預設 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 來取消設定預設目標。

  5. 刷新裝置:

    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

重新啟動後,裝置會進入快速系統啟動模式。