Skip to content

Latest commit

 

History

History
67 lines (42 loc) · 4.84 KB

mbed_linux.md

File metadata and controls

67 lines (42 loc) · 4.84 KB

For Arm* Mbed* Linux* (Arm Cortex*-A7) OS-Based Implementation

About

This document can be used as a quick guide to build and execute Secure Device Onboard (SDO) client-sdk on the Arm Cortex-A7 platform running the Arm Mbed* Linux* OS. To build and execute the SDO client-sdk on other target platforms (For example, Linux OS and Arm Mbed OS), refer to this document.

Hardware Requirements:

  • WaRP7* development platform with an i.MX 7Solo processor.
  • Two MICROUSB cables (one for power supply, another for serial communication).

Note : WaRP7 is a deprecited hardware. Client-sdk tested on it. But client-sdk can work on any mbedlinux boards for A7.

Software Requirements:

This implementation is built using Yocto Project* and provides facilities to run SDO client-sdk in the context of the Arm Mbed Linux software. The following are the requirements:

  • Linux OS (Ubuntu* OS version 20.04 LTS) as the host machine.

Note: Compilation steps are documented in the sdo-client-sdk for Arm Mbed Linux OS readme file.

Building Arm Mbed Linux OS

Download and build the Arm Mbed Linux OS source code, after following the steps mentioned in this link. Use 0.9 release brach for all repos.

Note: The current supported version of the Arm Mbed Linux OS is mbl-os-0.9.

On successful build completion, a new directory named build-warp7 will be created.

Building Required Dependencies

Place all required dependencies under the build-warp7 directory for the final SDO client-sdk build.

Building SDO client-sdk

The SDO client-sdk for Arm Cortex-A7 platform is built using the Yocto Project-based build system. Follow these instructions to generate the SDO client-sdk binaries:

  1. Add the required SDO manifest layer after copying the meta-intel-sdo layer to the appropriate location under the build-warp7 directory:
	$ mkdir -p build-warp7/machine-imx7s-warp-mbl/mbl-manifest/layers/meta-intel-sdo/recipes-connectivity
	
	$ cp -rf <release-package-dir>/sdo-client-sdk/utils/meta-intel-sdo/conf build-warp7/machine-imx7s-warp-mbl/mbl-manifest/layers/meta-intel-sdo/conf
	
	$ cp -rf <release-package-dir>/sdo-client-sdk/utils/meta-intel-sdo/recipes-connectivity/clientsdk-mbedtls build-warp7/machine-imx7s-warp-mbl/mbl-manifest/layers/meta-intel-sdo/recipes-connectivity/clientsdk-mbedtls
  1. Modify clientsdk-mbedtls.bb inside build-warp7/machine-imx7s-warp-mbl/mbl-manifest/layers/meta-intel-sdo/recipes-connectivity/clientsdk-mbedtls folder to configure and build the client-sdk source code for configurations other than the default (optional).

Note: By default, clientsdk-mbedtls.bb is configured with the default build configuration for Mbed Linux. To see the SDO default configuration and other details, refer to the Building SDO client-sdk section of the <release-package-dir>/client-sdk/README.md document.

  1. Add the meta-intel-sdo layer information by setting the BBLAYERS flag in the BitBake configuration file (the BitBake configuration file can be found at build-warp7/machine-imx7s-warp-mbl/mbl-manifest/conf/bblayers.conf):
    BBLAYERS = ${OEROOT}/layers/meta-intel-sdo
  1. Specify to install SDO clientsdk-mbedtls packages into the image by setting the IMAGE_INSTALL_APPEND flag in the local configuration file (the local configuration file can be found at build-warp7/machine-imx7s-warp-mbl/mbl-manifest/conf/local.conf):
    IMAGE_INSTALL_APPEND = "clientsdk-mbedtls"
  1. Re-run the build command as you did in the Building Arm Mbed Linux OS step.

Note: If the imx7s-warp.dtb file is not generated during build, refer to this link to generate the file.

Flashing and Preparing the Device

To flash the WaRP7 device with the build image, follow the steps in the this link.

After the device is flashed, use the Setting up a WI-FI* connection connect the device to the Wi-Fi* network for the first time.

Running SDO

After a successful flash, the SDO Cortex-A7 device executable can be found at <device-root>/opt/sdo/linux-client. Follow the steps in the Execution section of this document to run the SDO Cortex-A7 application against the SDO Customer Reference Implementation (CRI) implementation.