Skip to main content

SOTA/FOTA format

OEM should provide the component image update together with the metadata which describes dependencies, version and so on. It is uploaded to AosCloud per component as a bundle of images:

{
"formatVersion": 1,
"components": [
{
"id": "rootfs",
"fileName": "component.gz",
"vendorVersion": "2.1.0",
"description": "this is rootfs update",
"requiredVersion": "2.0.0",
"minVersion": "1.0.0",
"maxVersion": "2.0.0",
"downloadTTL": "P1M",
"annotations": {
"type": "full"
},
"runtimeDependencies": [
{
"id": "boot",
"requiredVersion": "3.2.0"
},
{
"id": "bios",
"minVersion": "2.5.0"
}
]
}
]
}

See explanations for JSON elements below:

  • formatVersion – file format version, used to support future extension and backward compatibility. Format - SemVer
  • components – array of component images this bundle contains
    • id – unique for the AosEdge board model component identifier. Note that components are not shared between different board models.
    • fileName – path to the component file inside bundle
    • version – component update version
    • description – component update description, for information purpose
    • requiredVersion – optional field, indicates the exact version of the component on which this version should be applied (explicitly means that update incremental) (requiredVersion discards minVersion and maxVersion). Format - SemVer
    • minVersion – optional field, indicates minimum version which should the component have before installing this one. Format - SemVer
    • maxVersion – optional field, indicates maximum version which should the component have before installing this one. Format - SemVer
    • downloadTTL - optional field, download service TTL (ISO 8601 duration). In case of the unit is not able to download service or related layer more than TTL time - Service should be deleted
    • annotations – any valid JSON structure, it will be passed directly to the target, used to provide component-specific data required for update on the target
    • runtimeDependencies – optional list of components and their versions which should be installed at same time with required component:
      • id – component identifier
      • requiredVersion, minVersion – same meaning as for these fields in root structure. Format - SemVer