軟體更新系統

Fuchsia 專案會持續接收有關新功能、改善項目和安全性修正項目的更新資訊。Fuchsia 的軟體更新系統使用的是更新架構 (TUF) 1.0 版。不過,Fuchsia 和 TUF 有一些差異:

規格版本

在 Fuchsia 存放區中,Fchsia 存放區版本會列為目標角色已簽署資料的頂層屬性。以下範例顯示規格版本的格式:

{
  ...

  "signed": {
    "_type": ROLE,
    "spec_version": "1",
    "custom": {
      "fuchsia_spec_version": <FUCHSIA_SPEC_VERSION>,
  }

  ...
}

值的定義:

  • 位於FUCHSIA_SPEC_VERSIONINT。Fuchsia 存放區規格版本的值。例如:1

套裝方案機構

Fuchsia 存放區中用於處理 Fuchsia 套件的自訂中繼資料,包含指向套件中繼資料封存的自訂中繼資料。以下範例顯示套件的格式:

{
  ...

  "targets": {
    "/PACKAGE_PATH": {
      ...
    }

  ...
  }
}

值的定義:

  • PACKAGE_PATH:從存放區基準網址到套件的相對路徑。

梅克爾根

在 Fuchsia 存放區中,每個套件目標都會包含套件中繼 FAR 的 merkle root 做為自訂屬性。以下範例是墨爾克根的格式:

{
  ...

  "targets" : {
    PACKAGEPATH : {
      "length" : LENGTH,
      "hashes" : HASHES,
      "custom" : {
        "merkle" : <MERKLE_ROOT>,
        "size" : <BLOB_SIZE>,
      }
    }

    ...
  }
}

值的定義:

  • 位於MERKLE_ROOTSTRING。套件中繼 FAR 的 Merkle 根雜湊的十六進位字串。
  • 位於BLOB_SIZEINTMERKLE_ROOT 識別的未加密 BLOB 大小 (以位元組為單位)。