Intel® In-Band Manageability
Firmware Over-the-Air (FOTA) Update
This type of update can be performed via the Manifest Update by entering XML text, which updates the endpoint.
It supports remote firmware updates: UEFI, U-boot, AFULNX (AMI)
High-Level Flow
- Receive and parse requests from the cloud.
- Validate if the host is a target for the update.
- Check the trusted repository from manifest (if it fails, do not proceed).
- Download the FOTA update from the remote repository.
- Confirm the signature of the FOTA update (if it fails, do not proceed).
- Update the host.
- Delete the downloaded file.
Sample FOTA Manifest
To perform FOTA updates, the manifest is required to have unique information for each platform SKU, and identifies the vendor, version, release date, manufacturer, and product name of the device being updated. Before sending the manifest, make sure the platform information is present within the /etc/firmware_tool_info.conf file.
<?xml version='1.0' encoding='utf-8'?><manifest><type>ota</type><ota><header><id>sampleID</id><name>Sample FOTA</name><description>Sample FOTA manifest file</description><type>fota</type><repo>remote</repo></header><type><fota name='sample'><fetch>http://ubuntufota.jf.intel.com:8000/Afulnx+X041_BIOS.tar</fetch><biosversion>5.12</biosversion><vendor>American Megatrends Inc.</vendor><manufacturer>Default string</manufacturer><product>Default string</product><releasedate>2017-11-20</releasedate><path>/var/cache/repositorytool</path></fota></type></ota></manifest>
Software Over-the-Air (SOTA) Update
The SOTA flow can be broken into two parts:
- Before a restart when a SOTA update is triggered
- After a restart to check the health of critical manageability services and take corrective action
It supports remote operating system software updates and kernel patches using Ubuntu* or Yocto Project*
Sample SOTA Manifest (Ubuntu*)
<?xml version="1.0" encoding="utf-8"?><manifest><type>ota</type><ota><header><id>a</id><name>a</name><description>a</description><type>sota</type><repo>remote</repo></header><type><sota><cmd logtofile="Y">update</cmd><release-date>2020-01-01</release_date></sota></type></ota></manifest>
SOTA Mender File (Yocto Project*)
<?xml version="1.0" encoding="utf-8"?><manifest><type>ota</type><ota><header><type>sota</type><repo>remote</repo></header><type><sota><fetch>https://yoururl/mender.file</fetch><username>user</username><password>pwd</password><cmd logtofile="Y">update</cmd><release-date>2020-01-01</release_date></sota></type></ota></manifest>
Application Over-the-Air (AOTA) Update
Use AOTA to remotely launch and update the following Docker* containers
- Docker manages a single container
- Docker Compose manages multiple container applications
This type of update includes a roll-back feature in case the update fails.
When using Docker Compose, follow these steps:
- Define the application environment with a Dockerfile.
- Define the application services in docker-compose.yml.
- To start and run the application, run docker-compose up.
Sample AOTA Manifest
Docker* Import
<?xml version='1.0' encoding='utf8'?><manifest><type>ota</type><ota><header><type>aota</type><repo>remote</repo></header><type><aota name='samplerpm'><cmd>import</cmd><app>docker</app><fetch>https://af01p-png.devtools.intel.com/artifactory/turtlecreek-swval-public-png-local/test_files/test-files-1377/sample-container.tgz</fetch><version>1.0</version><containerTag>sample-container:2</containerTag></aota></type></ota></manifest>
Cloud Portal
Microsoft Azure*
To provision and enable Intel® In-Band Manageability over-the-air updates, create an Azure* account and obtain the connection tokens from Azure. To monitor the device and perform OTA commands, import the IoT Central application (part of Intel In-Band Manageability).
For setup and configuration, see sections 3.0 and 4.0 in the Intel® Movidius™ S VPU Quick Start Guide.
ThingsBoard*
This open source IoT platform is another cloud portal option that supports Intel In-Band Manageability capabilities.