刷新裝置 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 -b <FUCHSIA_IMAGE>

    FUCHSIA_IMAGE 換成包含 Fuchsia 預先建構映像檔及其快閃資訊清單檔案的封存檔案,例如:

    $ ffx target flash -b ~/Downloads/fuchsia-image-example.zip
    

    閃爍完成後,裝置會重新啟動並開始執行 Fuchsia。

使用 fx create-pb-zip 建立的產品套件刷新裝置

如要刷入透過在 Fuchsia 來源簽出設定中執行 fx create-pb-zip 指令建立的產品組合 (.zip),請執行 ffx target flash 指令並加上 -b 旗標:

   ffx target flash -b <FUCHSIA_IMAGE>

FUCHSIA_IMAGE 替換為產生的產品組合 ZIP 檔案,例如:

   $ ffx target flash -b pb.zip

閃爍完成後,裝置會重新啟動並開始執行 Fuchsia。

將裝置啟動至快速啟動模式

如要觸發 Fuchsia 裝置啟動進入 Fastboot 模式,請執行下列指令:

ffx target reboot -b

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